<SEC-DOCUMENT>0001558370-23-008090.txt : 20230504
<SEC-HEADER>0001558370-23-008090.hdr.sgml : 20230504
<ACCEPTANCE-DATETIME>20230504160548
ACCESSION NUMBER:		0001558370-23-008090
CONFORMED SUBMISSION TYPE:	10-Q
PUBLIC DOCUMENT COUNT:		70
CONFORMED PERIOD OF REPORT:	20230331
FILED AS OF DATE:		20230504
DATE AS OF CHANGE:		20230504

FILER:

	COMPANY DATA:	
		COMPANY CONFORMED NAME:			TopBuild Corp
		CENTRAL INDEX KEY:			0001633931
		STANDARD INDUSTRIAL CLASSIFICATION:	CONSTRUCTION SPECIAL TRADE CONTRACTORS [1700]
		IRS NUMBER:				473096382
		STATE OF INCORPORATION:			DE
		FISCAL YEAR END:			1231

	FILING VALUES:
		FORM TYPE:		10-Q
		SEC ACT:		1934 Act
		SEC FILE NUMBER:	001-36870
		FILM NUMBER:		23888608

	BUSINESS ADDRESS:	
		STREET 1:		475 N. WILLIAMSON BLVD.
		CITY:			DAYTONA BEACH
		STATE:			FL
		ZIP:			32114
		BUSINESS PHONE:		(386) 304-2200

	MAIL ADDRESS:	
		STREET 1:		475 N. WILLIAMSON BLVD.
		CITY:			DAYTONA BEACH
		STATE:			FL
		ZIP:			32114

	FORMER COMPANY:	
		FORMER CONFORMED NAME:	Masco SpinCo Corp.
		DATE OF NAME CHANGE:	20150213
</SEC-HEADER>
<DOCUMENT>
<TYPE>10-Q
<SEQUENCE>1
<FILENAME>bld-20230331x10q.htm
<DESCRIPTION>10-Q
<TEXT>
<XBRL>
<?xml version='1.0' encoding='UTF-8'?>

      <!-- iXBRL document created with: Toppan Merrill Bridge iXBRL 10.2.5.9 -->
      <!-- Based on: iXBRL 1.1 -->
      <!-- Created on: 5/4/2023 5:11:54 PM -->
      <!-- iXBRL Library version: 1.0.8476.13996 -->
      <!-- iXBRL Service Job ID: 76598edd-67ec-49e1-b73e-e984684b5b06 -->

  <html xmlns:us-gaap="http://fasb.org/us-gaap/2022" xmlns:bld="http://www.topbuild.com/20230331" xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xbrldt="http://xbrl.org/2005/xbrldt" xmlns:ixt-sec="http://www.sec.gov/inlineXBRL/transformation/2015-08-31" xmlns:srt="http://fasb.org/srt/2022" xmlns:ix="http://www.xbrl.org/2013/inlineXBRL" xmlns:ref="http://www.xbrl.org/2006/ref" xmlns:xbrli="http://www.xbrl.org/2003/instance" xmlns:dei="http://xbrl.sec.gov/dei/2022" xmlns:iso4217="http://www.xbrl.org/2003/iso4217" xmlns="http://www.w3.org/1999/xhtml" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xs="http://www.w3.org/2001/XMLSchema-instance" xmlns:ixt="http://www.xbrl.org/inlineXBRL/transformation/2015-02-26" xmlns:xbrldi="http://xbrl.org/2006/xbrldi"><head><meta content="text/html" http-equiv="content-type" /><title></title></head><body><div style="margin-top:30pt;"></div><div style="display:none;"><ix:header><ix:hidden><ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" xs:nil="true" contextRef="As_Of_3_31_2023_if5iG1tra0aH_pegPPBopw" name="us-gaap:CommitmentsAndContingencies" id="Hidden_j_Ruylp4Y0uIHiPyoIYkGQ"></ix:nonFraction><ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" xs:nil="true" contextRef="As_Of_12_31_2022_3M6K0OeVvUOHwft-0BiHjg" name="us-gaap:CommitmentsAndContingencies" id="Hidden_KH344pyJa0eqdmeQXT48DQ"></ix:nonFraction><ix:nonFraction unitRef="Unit_Standard_shares_eiECwuXP0kO6JM1Li4xT6g" contextRef="As_Of_3_31_2023_if5iG1tra0aH_pegPPBopw" decimals="INF" name="us-gaap:PreferredStockSharesOutstanding" id="Hidden_mbabtP8z_06fRNgigLOdUw">0</ix:nonFraction><ix:nonFraction unitRef="Unit_Standard_shares_eiECwuXP0kO6JM1Li4xT6g" contextRef="As_Of_12_31_2022_3M6K0OeVvUOHwft-0BiHjg" decimals="INF" name="us-gaap:PreferredStockSharesOutstanding" id="Hidden_1qCOkHEg6EuGtA0zh0MhkA">0</ix:nonFraction><ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" xs:nil="true" contextRef="As_Of_3_31_2023_if5iG1tra0aH_pegPPBopw" name="us-gaap:PreferredStockValue" id="Hidden_9TbH8kT2gUGuvZK8ypPxVg"></ix:nonFraction><ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" xs:nil="true" contextRef="As_Of_12_31_2022_3M6K0OeVvUOHwft-0BiHjg" name="us-gaap:PreferredStockValue" id="Hidden_0Vczj41DDEyEU5LzRnVNWA"></ix:nonFraction><ix:nonNumeric contextRef="Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA" name="dei:EntityCentralIndexKey" id="Narr_0xwNxiB0gEy1bl1W3QdI9g">0001633931</ix:nonNumeric><ix:nonNumeric contextRef="Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA" name="dei:AmendmentFlag" id="Narr_gp2a7XsVM0uFJKDusIUdUw">false</ix:nonNumeric><ix:nonNumeric contextRef="Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA" name="dei:CurrentFiscalYearEndDate" id="Narr_Xk_RsyJSrUqb4WaJLvSVDw">--12-31</ix:nonNumeric><ix:nonNumeric contextRef="Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA" name="dei:DocumentFiscalYearFocus" id="Narr_32eUmmzKtEy4CZ_--I356w">2023</ix:nonNumeric><ix:nonNumeric contextRef="Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA" name="dei:DocumentFiscalPeriodFocus" id="Narr_orRg0zqx-EW1miGmEgKU5w">Q1</ix:nonNumeric></ix:hidden><ix:references><link:schemaRef xlink:type="simple" xlink:href="bld-20230331.xsd"></link:schemaRef></ix:references><ix:resources><xbrli:context id="Duration_1_1_2023_To_3_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_WKBbOPkAq0e7qMWBF4qifA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001633931</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2022_To_3_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_r94adSnxsE6EVtvTOFRWng"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001633931</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="As_Of_3_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockCommonMember_wPhW8rxqnE-envvxa0pjpQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001633931</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockCommonMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_3_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_WvPQwD3k7UaZavqehpN7Yg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001633931</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_3_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_7jVY8WF-Xkav1ie7BJR1NA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001633931</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_3_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_p0IFFl326kadCw4l87On1A"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001633931</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_3_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_qVYZQAsDJ0OVpCXrFAkkUg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001633931</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockCommonMember_KfSzM8aCfEC6P-O2fJUm7g"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001633931</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockCommonMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_x8JaX_v4PE-MsieRKNXtPA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001633931</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_Irp462mrQUS46zMir5jc3g"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001633931</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_LaYSzyaUqEWHOGOQq680pw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001633931</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_1p0qTKI-3EOvSkwuCyLm4w"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001633931</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_3_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockCommonMember__qc3JlJGTka4g7lG8jQIKw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001633931</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockCommonMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_3_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_3bDtyK5TkEKLfjrAJGHnJg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001633931</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_3_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_-WLZknLc_EO6uYMNLBbE7g"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001633931</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_3_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_UP_jxLV5x0u7Ji9GffULgg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001633931</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_3_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_hB_lpYD3vEm4my71pcTHwQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001633931</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockCommonMember_aoGRqgmjFESQWsmqvRfu9g"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001633931</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockCommonMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember__pvOBVpXeE67ZLr3-c0IdQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001633931</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_K4Q3DjveCEiH0sBuPGCPDQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001633931</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_xlHF0V5WBEeDbcFLDgsp3g"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001633931</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_ZkWO_EPNxka9Q35wozuBMQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001633931</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2022_us-gaap_AwardTypeAxis_us-gaap_EmployeeStockOptionMember_SvwL_1-BQkqWC-2hDx5qwA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001633931</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_3_31_2023_srt_RangeAxis_srt_MaximumMember_us-gaap_PlanNameAxis_bld_LongTermIncentivePlanMember_tIAn4wlxMk-KyfSphArL4A"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001633931</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">bld:LongTermIncentivePlanMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2022_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockMember_gyTMO563sEqpZmQ3457eFw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001633931</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2023_To_3_31_2023_us-gaap_BusinessAcquisitionAxis_bld_Acquisitions2022Member_1QXhCc_AR0OBZkhKxfgkNw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001633931</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">bld:Acquisitions2022Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2023_To_3_31_2023_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_srt_MajorCustomersAxis_bld_ResidentialMember_us-gaap_StatementBusinessSegmentsAxis_bld_InstallationSegmentMember_pYUq_of_y0SxcZdlaU8_Mw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001633931</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:MajorCustomersAxis">bld:ResidentialMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">bld:InstallationSegmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2023_To_3_31_2023_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_srt_MajorCustomersAxis_bld_ResidentialMember_us-gaap_StatementBusinessSegmentsAxis_bld_DistributionSegmentMember_rCbAEpjGAEmYhiqgf9uh7A"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001633931</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:MajorCustomersAxis">bld:ResidentialMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">bld:DistributionSegmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2023_To_3_31_2023_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_srt_ProductOrServiceAxis_bld_RainGuttersMember_us-gaap_StatementBusinessSegmentsAxis_bld_InstallationSegmentMember_S5g4dfB2OUGxXfT_s7Ahpg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001633931</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">bld:RainGuttersMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">bld:InstallationSegmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2023_To_3_31_2023_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_srt_ProductOrServiceAxis_bld_RainGuttersMember_us-gaap_StatementBusinessSegmentsAxis_bld_DistributionSegmentMember_VRZZXok16US1qjAj47aghA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001633931</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">bld:RainGuttersMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">bld:DistributionSegmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2023_To_3_31_2023_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_srt_ProductOrServiceAxis_bld_InsulationAndAccessoriesMember_us-gaap_StatementBusinessSegmentsAxis_bld_InstallationSegmentMember_ls0M8rPlDkiOjefb6yS8wg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001633931</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">bld:InsulationAndAccessoriesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">bld:InstallationSegmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2023_To_3_31_2023_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_srt_ProductOrServiceAxis_bld_InsulationAndAccessoriesMember_us-gaap_StatementBusinessSegmentsAxis_bld_DistributionSegmentMember_vAFdzEmuE0Sqn-v0fbhXwg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001633931</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">bld:InsulationAndAccessoriesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">bld:DistributionSegmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2023_To_3_31_2023_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_srt_ProductOrServiceAxis_bld_GlassAndWindowsMember_us-gaap_StatementBusinessSegmentsAxis_bld_InstallationSegmentMember_m6HhV_9kBky5WNYd6Rdmiw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001633931</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">bld:GlassAndWindowsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">bld:InstallationSegmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2023_To_3_31_2023_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_srt_MajorCustomersAxis_bld_CommercialAndIndustrialMember_us-gaap_StatementBusinessSegmentsAxis_bld_InstallationSegmentMember_l4jPlopJaE-gNKOSERSp0Q"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001633931</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:MajorCustomersAxis">bld:CommercialAndIndustrialMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">bld:InstallationSegmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2023_To_3_31_2023_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_srt_MajorCustomersAxis_bld_CommercialAndIndustrialMember_us-gaap_StatementBusinessSegmentsAxis_bld_DistributionSegmentMember_H_KoZsVa7E-ZHX4AAwaAlA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001633931</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:MajorCustomersAxis">bld:CommercialAndIndustrialMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">bld:DistributionSegmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2023_To_3_31_2023_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_srt_ProductOrServiceAxis_bld_AllOtherProductsMember_us-gaap_StatementBusinessSegmentsAxis_bld_InstallationSegmentMember_aTlmtepgD06zikbyhK_MLA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001633931</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">bld:AllOtherProductsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">bld:InstallationSegmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2023_To_3_31_2023_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_srt_ProductOrServiceAxis_bld_AllOtherProductsMember_us-gaap_StatementBusinessSegmentsAxis_bld_DistributionSegmentMember_sYDxsSBhtEGWo1QAuLjHfg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001633931</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">bld:AllOtherProductsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">bld:DistributionSegmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2023_To_3_31_2023_srt_ConsolidationItemsAxis_bld_EliminationsAndReconcilingItemsMember_srt_MajorCustomersAxis_bld_ResidentialMember_S4KNaqCrrkWQNZvrh9KDVA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001633931</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">bld:EliminationsAndReconcilingItemsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:MajorCustomersAxis">bld:ResidentialMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2023_To_3_31_2023_srt_ConsolidationItemsAxis_bld_EliminationsAndReconcilingItemsMember_srt_ProductOrServiceAxis_bld_RainGuttersMember_-d9sxYyMYk-7pj_qAs_wRg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001633931</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">bld:EliminationsAndReconcilingItemsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">bld:RainGuttersMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2023_To_3_31_2023_srt_ConsolidationItemsAxis_bld_EliminationsAndReconcilingItemsMember_srt_ProductOrServiceAxis_bld_InsulationAndAccessoriesMember_E7gatzAIu0ey-mxgIBiUlw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001633931</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">bld:EliminationsAndReconcilingItemsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">bld:InsulationAndAccessoriesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2023_To_3_31_2023_srt_ConsolidationItemsAxis_bld_EliminationsAndReconcilingItemsMember_srt_MajorCustomersAxis_bld_CommercialAndIndustrialMember_l3TWrBp3HkWZ9bbqfhisyA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001633931</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">bld:EliminationsAndReconcilingItemsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:MajorCustomersAxis">bld:CommercialAndIndustrialMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2023_To_3_31_2023_srt_ConsolidationItemsAxis_bld_EliminationsAndReconcilingItemsMember_srt_ProductOrServiceAxis_bld_AllOtherProductsMember_HcDaop6gVUGdBVT3S3ZBhQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001633931</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">bld:EliminationsAndReconcilingItemsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">bld:AllOtherProductsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2023_To_3_31_2023_srt_MajorCustomersAxis_bld_ResidentialMember_5N41Eem5bEu5s4fKT46eEA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001633931</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:MajorCustomersAxis">bld:ResidentialMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2023_To_3_31_2023_srt_ProductOrServiceAxis_bld_RainGuttersMember_8e6JKrlvp0OLdro1HOHeDA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001633931</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">bld:RainGuttersMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2023_To_3_31_2023_srt_ProductOrServiceAxis_bld_InsulationAndAccessoriesMember_L5LZUP6RMEGnhSJNnaUp1A"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001633931</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">bld:InsulationAndAccessoriesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2023_To_3_31_2023_srt_ProductOrServiceAxis_bld_GlassAndWindowsMember_cntT6-h4SE-cLpqU3KXwsw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001633931</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">bld:GlassAndWindowsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2023_To_3_31_2023_srt_ConsolidationItemsAxis_bld_EliminationsAndReconcilingItemsMember_xw6hySBBTUaxt494YNJgiw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001633931</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">bld:EliminationsAndReconcilingItemsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2023_To_3_31_2023_srt_MajorCustomersAxis_bld_CommercialAndIndustrialMember_2ltJXfAl4kOb_mE9BLsP7Q"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001633931</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:MajorCustomersAxis">bld:CommercialAndIndustrialMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2023_To_3_31_2023_srt_ProductOrServiceAxis_bld_AllOtherProductsMember_jJ2egjp9UUiJ-j3WTIZqgA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001633931</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">bld:AllOtherProductsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2022_To_3_31_2022_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_srt_MajorCustomersAxis_bld_ResidentialMember_us-gaap_StatementBusinessSegmentsAxis_bld_InstallationSegmentMember_NFbyySvUPkCsJfUd-XqkiA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001633931</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:MajorCustomersAxis">bld:ResidentialMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">bld:InstallationSegmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2022_To_3_31_2022_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_srt_MajorCustomersAxis_bld_ResidentialMember_us-gaap_StatementBusinessSegmentsAxis_bld_DistributionSegmentMember_lze11hWxMEi_fU2CVT-zkQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001633931</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:MajorCustomersAxis">bld:ResidentialMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">bld:DistributionSegmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2022_To_3_31_2022_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_srt_ProductOrServiceAxis_bld_RainGuttersMember_us-gaap_StatementBusinessSegmentsAxis_bld_InstallationSegmentMember_iPBtGyRvK0-AFg1CyvjKYg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001633931</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">bld:RainGuttersMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">bld:InstallationSegmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2022_To_3_31_2022_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_srt_ProductOrServiceAxis_bld_RainGuttersMember_us-gaap_StatementBusinessSegmentsAxis_bld_DistributionSegmentMember_Ek2F0THkAk-RTj7FVRH4DQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001633931</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">bld:RainGuttersMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">bld:DistributionSegmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2022_To_3_31_2022_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_srt_ProductOrServiceAxis_bld_InsulationAndAccessoriesMember_us-gaap_StatementBusinessSegmentsAxis_bld_InstallationSegmentMember_QReZvRj-hU-I3P_KcWapzg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001633931</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">bld:InsulationAndAccessoriesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">bld:InstallationSegmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2022_To_3_31_2022_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_srt_ProductOrServiceAxis_bld_InsulationAndAccessoriesMember_us-gaap_StatementBusinessSegmentsAxis_bld_DistributionSegmentMember_k5s7Ov2MNkOrjMg3RtUbKA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001633931</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">bld:InsulationAndAccessoriesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">bld:DistributionSegmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2022_To_3_31_2022_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_srt_ProductOrServiceAxis_bld_GlassAndWindowsMember_us-gaap_StatementBusinessSegmentsAxis_bld_InstallationSegmentMember_pKvFAuIKkkqeJMhSaaVq9A"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001633931</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">bld:GlassAndWindowsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">bld:InstallationSegmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2022_To_3_31_2022_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_srt_MajorCustomersAxis_bld_CommercialAndIndustrialMember_us-gaap_StatementBusinessSegmentsAxis_bld_InstallationSegmentMember_aw4uv_k6I06yoaSPOa2KPA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001633931</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:MajorCustomersAxis">bld:CommercialAndIndustrialMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">bld:InstallationSegmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2022_To_3_31_2022_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_srt_MajorCustomersAxis_bld_CommercialAndIndustrialMember_us-gaap_StatementBusinessSegmentsAxis_bld_DistributionSegmentMember_y2omgkBKmE-jk2I6gK5d_w"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001633931</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:MajorCustomersAxis">bld:CommercialAndIndustrialMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">bld:DistributionSegmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2022_To_3_31_2022_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_srt_ProductOrServiceAxis_bld_AllOtherProductsMember_us-gaap_StatementBusinessSegmentsAxis_bld_InstallationSegmentMember_zfYn5aLYMUyQD4u_hnEL4A"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001633931</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">bld:AllOtherProductsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">bld:InstallationSegmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2022_To_3_31_2022_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_srt_ProductOrServiceAxis_bld_AllOtherProductsMember_us-gaap_StatementBusinessSegmentsAxis_bld_DistributionSegmentMember_REyE7sf8pUaefnGqFfBj_Q"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001633931</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">bld:AllOtherProductsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">bld:DistributionSegmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2022_To_3_31_2022_srt_ConsolidationItemsAxis_bld_EliminationsAndReconcilingItemsMember_srt_MajorCustomersAxis_bld_ResidentialMember_ydzOmEY-fk-yMuuMCfgUMg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001633931</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">bld:EliminationsAndReconcilingItemsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:MajorCustomersAxis">bld:ResidentialMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2022_To_3_31_2022_srt_ConsolidationItemsAxis_bld_EliminationsAndReconcilingItemsMember_srt_ProductOrServiceAxis_bld_RainGuttersMember_ga29bOwVn0SpCfIv5Zyn2g"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001633931</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">bld:EliminationsAndReconcilingItemsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">bld:RainGuttersMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2022_To_3_31_2022_srt_ConsolidationItemsAxis_bld_EliminationsAndReconcilingItemsMember_srt_ProductOrServiceAxis_bld_InsulationAndAccessoriesMember_9TA4C2yswUq_MhmHylURnQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001633931</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">bld:EliminationsAndReconcilingItemsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">bld:InsulationAndAccessoriesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2022_To_3_31_2022_srt_ConsolidationItemsAxis_bld_EliminationsAndReconcilingItemsMember_srt_MajorCustomersAxis_bld_CommercialAndIndustrialMember_Z08hTr-APkGnb1QEQOH7ig"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001633931</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">bld:EliminationsAndReconcilingItemsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:MajorCustomersAxis">bld:CommercialAndIndustrialMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2022_To_3_31_2022_srt_ConsolidationItemsAxis_bld_EliminationsAndReconcilingItemsMember_srt_ProductOrServiceAxis_bld_AllOtherProductsMember_fWytx25M-kuxwriuez2Iow"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001633931</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">bld:EliminationsAndReconcilingItemsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">bld:AllOtherProductsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2022_To_3_31_2022_srt_MajorCustomersAxis_bld_ResidentialMember_Ffpufus4TkuHFL9VfWYCpA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001633931</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:MajorCustomersAxis">bld:ResidentialMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2022_To_3_31_2022_srt_ProductOrServiceAxis_bld_RainGuttersMember_o9PUXKrBikSA4fF9MpRzyw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001633931</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">bld:RainGuttersMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2022_To_3_31_2022_srt_ProductOrServiceAxis_bld_InsulationAndAccessoriesMember_zKriEKongU6nXLrngCbm0A"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001633931</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">bld:InsulationAndAccessoriesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2022_To_3_31_2022_srt_ProductOrServiceAxis_bld_GlassAndWindowsMember_cPIg16c4T0uxKhIbAzLcOQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001633931</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">bld:GlassAndWindowsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2022_To_3_31_2022_srt_ConsolidationItemsAxis_bld_EliminationsAndReconcilingItemsMember_ebPp6BUowk-vYsFfG3_Cew"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001633931</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">bld:EliminationsAndReconcilingItemsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2022_To_3_31_2022_srt_MajorCustomersAxis_bld_CommercialAndIndustrialMember_81zU0sk_KUmUaSYu8r0Ajw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001633931</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:MajorCustomersAxis">bld:CommercialAndIndustrialMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2022_To_3_31_2022_srt_ProductOrServiceAxis_bld_AllOtherProductsMember_ZQ4WTqe_7EmxkByY0n2bGA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001633931</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">bld:AllOtherProductsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2023_To_3_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_AeIMe7p5lU-XYw7PaedL0A"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001633931</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2022_To_3_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_xnmDuIYJzUOQlDKBdXWHog"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001633931</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2023_To_3_31_2023_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_bld_InstallationSegmentMember_p7381by8A0iuH_K9pq6dkA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001633931</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">bld:InstallationSegmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2023_To_3_31_2023_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_bld_DistributionSegmentMember_npMAeLxndk2Y3vlwNf6M1Q"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001633931</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">bld:DistributionSegmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2023_To_3_31_2023_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_e6Vbhcmha0OvoC_c8bkFFg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001633931</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2023_To_3_31_2023_srt_ConsolidationItemsAxis_us-gaap_IntersegmentEliminationMember_OSnOoe8YMEG4QEekdapXgQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001633931</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:IntersegmentEliminationMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2022_To_3_31_2022_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_bld_InstallationSegmentMember_P5TLAe2eDUmNeH4h43zM0A"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001633931</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">bld:InstallationSegmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2022_To_3_31_2022_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_bld_DistributionSegmentMember_a9OaAUHgnEO4Vuy42sZdWA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001633931</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">bld:DistributionSegmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2022_To_3_31_2022_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_hukAPRnnmUSUm_qzI6sjrg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001633931</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2022_To_3_31_2022_srt_ConsolidationItemsAxis_us-gaap_IntersegmentEliminationMember_liO-tbyRL0OUMaNmtzOQRA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001633931</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:IntersegmentEliminationMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2023_To_3_31_2023_srt_ConsolidationItemsAxis_us-gaap_CorporateNonSegmentMember_c5sw8fixpE21iMoO3Tt6xw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001633931</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:CorporateNonSegmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2022_To_3_31_2022_srt_ConsolidationItemsAxis_us-gaap_CorporateNonSegmentMember_HVg0NYO990KhlMREqMnCYA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001633931</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:CorporateNonSegmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2023_To_3_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_g_wEOy27YUOE8eQFhGsziQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001633931</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2022_To_3_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_ZcDfzUxETUOxPY4XBVDg7Q"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001633931</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2023_To_3_31_2023_srt_RangeAxis_srt_MinimumMember_us-gaap_ShortTermDebtTypeAxis_us-gaap_RevolvingCreditFacilityMember_Dbxl61N7BEeoGZzlKOJO5w"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001633931</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ShortTermDebtTypeAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2023_To_3_31_2023_srt_RangeAxis_srt_MaximumMember_us-gaap_ShortTermDebtTypeAxis_us-gaap_RevolvingCreditFacilityMember_2RGvF6mMx02qxoG5rj4u9Q"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001633931</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ShortTermDebtTypeAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="As_Of_3_31_2023_us-gaap_DebtInstrumentAxis_bld_AmendedCreditAgreementDecember2022Member_us-gaap_LongtermDebtTypeAxis_us-gaap_SecuredDebtMember_GtTMZxo2F0mhtqH3ASSO6w"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001633931</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">bld:AmendedCreditAgreementDecember2022Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:SecuredDebtMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_3_31_2023_us-gaap_ShortTermDebtTypeAxis_us-gaap_RevolvingCreditFacilityMember_sKkpc3fQb0-OaFzOj3p_hw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001633931</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ShortTermDebtTypeAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2022_us-gaap_ShortTermDebtTypeAxis_us-gaap_RevolvingCreditFacilityMember_1af6wDhXIkqwLcOiWRsVRg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001633931</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ShortTermDebtTypeAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2023_To_3_31_2023_us-gaap_StatementBusinessSegmentsAxis_bld_InstallationSegmentMember_LSg-I_e7e0eU_UM9eCLOVg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001633931</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">bld:InstallationSegmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_10_1_2022_To_12_31_2022_jfm3OEh2x0KwHgbOrODRyQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001633931</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:startDate>2022-10-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2022_us-gaap_StatementBusinessSegmentsAxis_bld_InstallationSegmentMember_ogEtAVcqp0aGFLw3VsnIQQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001633931</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">bld:InstallationSegmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2022_us-gaap_StatementBusinessSegmentsAxis_bld_DistributionSegmentMember_DO7bpAz7EUGawl7o6a19Iw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001633931</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">bld:DistributionSegmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2023_To_3_31_2023_us-gaap_StatementBusinessSegmentsAxis_bld_DistributionSegmentMember_mqy8JDX5XUmTtMIA3VlKgw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001633931</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">bld:DistributionSegmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_2_23_2022_To_2_23_2022_us-gaap_BusinessAcquisitionAxis_bld_BillingsInsulationServiceInc.Member_Pshe7EaeS0-Oyt4mLUscag"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001633931</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">bld:BillingsInsulationServiceInc.Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-02-23</xbrli:startDate><xbrli:endDate>2022-02-23</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2022_To_3_31_2022_us-gaap_BusinessAcquisitionAxis_us-gaap_SeriesOfIndividuallyImmaterialBusinessAcquisitionsMember_q6UeZXiAL06a3rbU9Kgdmg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001633931</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">us-gaap:SeriesOfIndividuallyImmaterialBusinessAcquisitionsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2022_To_3_31_2022_us-gaap_BusinessAcquisitionAxis_bld_Acquisitions2022Member_nqN1YfNvu0qGN9sc0Tbtiw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001633931</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">bld:Acquisitions2022Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="As_Of_3_31_2023_us-gaap_StatementBusinessSegmentsAxis_bld_InstallationSegmentMember_vPQxpqKcL0m10SFQKEyjIg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001633931</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">bld:InstallationSegmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_3_31_2023_us-gaap_StatementBusinessSegmentsAxis_bld_DistributionSegmentMember_Bg3lQcXgdk6c3ZO8up_n_g"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001633931</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">bld:DistributionSegmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_1_26_2023_-udp3RObVE6S73XWB9r0EQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001633931</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:instant>2023-01-26</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_3_31_2023_us-gaap_AwardTypeAxis_us-gaap_EmployeeStockOptionMember_JYX_mBWuXk6uTfGNYEC3QQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001633931</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_3_31_2023_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockMember_gi0zPp63_UKnfJcl0TQvyQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001633931</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2023_To_3_31_2023_us-gaap_LongtermDebtTypeAxis_bld_EquipmentNotesMember_38hIL-nurk-bWvbPSWuPhw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001633931</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">bld:EquipmentNotesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2023_To_3_31_2023_srt_RangeAxis_srt_MaximumMember_srt_StatementScenarioAxis_bld_DebtInstrumentRedemptionOptionTwoMember_us-gaap_DebtInstrumentAxis_bld_SeniorNotesDue2029Member_us-gaap_DebtInstrumentRedemptionPeriodAxis_us-gaap_DebtInstrumentRedemptionPeriodOneMember_Qng4sg2WhkOsz-Y-k_kiQA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001633931</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:StatementScenarioAxis">bld:DebtInstrumentRedemptionOptionTwoMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">bld:SeniorNotesDue2029Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentRedemptionPeriodAxis">us-gaap:DebtInstrumentRedemptionPeriodOneMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2023_To_3_31_2023_srt_StatementScenarioAxis_bld_DebtInstrumentRedemptionOptionOneMember_us-gaap_DebtInstrumentAxis_bld_SeniorNotesDue2029Member_us-gaap_DebtInstrumentRedemptionPeriodAxis_us-gaap_DebtInstrumentRedemptionPeriodOneMember_sEFQPw4nBUudNRhTU7pKow"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001633931</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementScenarioAxis">bld:DebtInstrumentRedemptionOptionOneMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">bld:SeniorNotesDue2029Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentRedemptionPeriodAxis">us-gaap:DebtInstrumentRedemptionPeriodOneMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2023_To_3_31_2023_us-gaap_DebtInstrumentAxis_bld_SeniorNotesDue2032Member_us-gaap_DebtInstrumentRedemptionPeriodAxis_us-gaap_DebtInstrumentRedemptionPeriodTwoMember_Uf2SNkmu_UCzFdtYb5gYiA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001633931</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">bld:SeniorNotesDue2032Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentRedemptionPeriodAxis">us-gaap:DebtInstrumentRedemptionPeriodTwoMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2023_To_3_31_2023_us-gaap_DebtInstrumentAxis_bld_SeniorNotesDue2032Member_us-gaap_DebtInstrumentRedemptionPeriodAxis_us-gaap_DebtInstrumentRedemptionPeriodThreeMember_N6gkmcD8rk-8DZDJ_hb7qw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001633931</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">bld:SeniorNotesDue2032Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentRedemptionPeriodAxis">us-gaap:DebtInstrumentRedemptionPeriodThreeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2023_To_3_31_2023_us-gaap_DebtInstrumentAxis_bld_SeniorNotesDue2032Member_us-gaap_DebtInstrumentRedemptionPeriodAxis_us-gaap_DebtInstrumentRedemptionPeriodFourMember_LXkwlZf-VEaa26BHzD7nGg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001633931</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">bld:SeniorNotesDue2032Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentRedemptionPeriodAxis">us-gaap:DebtInstrumentRedemptionPeriodFourMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2023_To_3_31_2023_us-gaap_DebtInstrumentAxis_bld_SeniorNotesDue2032Member_us-gaap_DebtInstrumentRedemptionPeriodAxis_us-gaap_DebtInstrumentRedemptionPeriodFiveMember_CbXd6uRwOkejk9hh_PWcpA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001633931</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">bld:SeniorNotesDue2032Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentRedemptionPeriodAxis">us-gaap:DebtInstrumentRedemptionPeriodFiveMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2023_To_3_31_2023_srt_StatementScenarioAxis_bld_ChangeInControlScenarioMember_us-gaap_DebtInstrumentAxis_bld_SeniorNotesDue2032Member_ovCTkehJLk2CCnOsFEkaeQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001633931</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementScenarioAxis">bld:ChangeInControlScenarioMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">bld:SeniorNotesDue2032Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2023_To_3_31_2023_srt_StatementScenarioAxis_bld_ChangeInControlScenarioMember_us-gaap_DebtInstrumentAxis_bld_SeniorNotesDue2029Member_8bJwG2vTOE2tQdDW0urVWQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001633931</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementScenarioAxis">bld:ChangeInControlScenarioMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">bld:SeniorNotesDue2029Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2023_To_3_31_2023_us-gaap_DebtInstrumentAxis_bld_AmendedCreditAgreementDecember2022Member_dUZnXEjACUOqenPIzQv7xA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001633931</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">bld:AmendedCreditAgreementDecember2022Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="As_Of_3_31_2023_srt_RangeAxis_srt_MinimumMember_us-gaap_LongtermDebtTypeAxis_bld_EquipmentNotesMember_4MaAYR9PWEaXbwn81Fwg-A"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001633931</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">bld:EquipmentNotesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_3_31_2023_srt_RangeAxis_srt_MaximumMember_us-gaap_LongtermDebtTypeAxis_bld_EquipmentNotesMember_prYnYqy7Z0OOQcGXKxoX2g"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001633931</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">bld:EquipmentNotesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_3_31_2023_us-gaap_DebtInstrumentAxis_bld_SeniorNotesDue2032Member_us-gaap_FairValueByFairValueHierarchyLevelAxis_us-gaap_FairValueInputsLevel1Member_us-gaap_FairValueByMeasurementFrequencyAxis_us-gaap_FairValueMeasurementsNonrecurringMember_LshrsCbxZU-qxa8vQD6lCw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001633931</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">bld:SeniorNotesDue2032Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsNonrecurringMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_3_31_2023_us-gaap_DebtInstrumentAxis_bld_SeniorNotesDue2029Member_us-gaap_FairValueByFairValueHierarchyLevelAxis_us-gaap_FairValueInputsLevel1Member_us-gaap_FairValueByMeasurementFrequencyAxis_us-gaap_FairValueMeasurementsNonrecurringMember_Vn-k2wVUmUWYtrxkKGQteA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001633931</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">bld:SeniorNotesDue2029Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsNonrecurringMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_3_31_2023_us-gaap_LongtermDebtTypeAxis_us-gaap_SecuredDebtMember_bs9MyfF_3EG8x_GCCXvppw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001633931</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:SecuredDebtMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_3_31_2023_us-gaap_DebtInstrumentAxis_bld_SeniorNotesDue2032Member_wZRT4AY8v0CM8wazDvvqiw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001633931</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">bld:SeniorNotesDue2032Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_3_31_2023_us-gaap_DebtInstrumentAxis_bld_SeniorNotesDue2029Member_DOM61O-9RkadksBpNLIELQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001633931</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">bld:SeniorNotesDue2029Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_3_31_2023_us-gaap_LongtermDebtTypeAxis_bld_EquipmentNotesMember_CzofN1GTuUe3vubWUs9Peg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001633931</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">bld:EquipmentNotesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2022_us-gaap_LongtermDebtTypeAxis_us-gaap_SecuredDebtMember_Drf3hjFYok-EO9LwVlgQZQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001633931</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:SecuredDebtMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2022_us-gaap_LongtermDebtTypeAxis_bld_SeniorNotesDue2032Member_LYay9YrBtEuYzymdz-Gjcw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001633931</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">bld:SeniorNotesDue2032Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2022_us-gaap_LongtermDebtTypeAxis_bld_SeniorNotesDue2029Member_P-zVb6WG90S3kOqpODQxTg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001633931</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">bld:SeniorNotesDue2029Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2022_us-gaap_LongtermDebtTypeAxis_bld_EquipmentNotesMember_BrxivjoGsES5f9i33thXHQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001633931</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">bld:EquipmentNotesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2023_To_3_31_2023_us-gaap_CreditFacilityAxis_bld_BaseRateBorrowingsMember_us-gaap_DebtInstrumentAxis_bld_AmendedCreditAgreementDecember2022Member_us-gaap_VariableRateAxis_bld_FederalFundsRateMember_2isN064HNUSL501Hs3TD5g"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001633931</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">bld:BaseRateBorrowingsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">bld:AmendedCreditAgreementDecember2022Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">bld:FederalFundsRateMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="As_Of_3_31_2023_us-gaap_BalanceSheetLocationAxis_us-gaap_AccruedLiabilitiesMember_YtTS19248ECVOj5oYwZIvw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001633931</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BalanceSheetLocationAxis">us-gaap:AccruedLiabilitiesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2022_us-gaap_BalanceSheetLocationAxis_us-gaap_AccruedLiabilitiesMember_fbKXh7_lZ0Wz_E4UrRbZJw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001633931</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BalanceSheetLocationAxis">us-gaap:AccruedLiabilitiesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_3_31_2023_us-gaap_BalanceSheetLocationAxis_bld_ReceivablesNetMember_8cEgtfuIgE2dSs8eHeX7rw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001633931</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BalanceSheetLocationAxis">bld:ReceivablesNetMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2022_us-gaap_BalanceSheetLocationAxis_bld_ReceivablesNetMember_gEHjoQLLCUeBknQu80_2JA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001633931</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BalanceSheetLocationAxis">bld:ReceivablesNetMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2021_E3XLgxKuqkG3H9Q0OJ-D2w"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001633931</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="Duration_1_26_2023_To_1_26_2023_us-gaap_BusinessAcquisitionAxis_bld_SriHoldingsMember_nTTMPP_zqEyg1SIj1QMP8w"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001633931</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">bld:SriHoldingsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-26</xbrli:startDate><xbrli:endDate>2023-01-26</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="As_Of_3_31_2022__Zk_lDEdHEWJ823DIF3NZg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001633931</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:instant>2022-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2023_To_3_31_2023_bld_VestingCriteriaAxis_bld_VestingBasedOnServiceMember_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_us-gaap_RestrictedStockMember_x6XnFpPuXEuV3fGq4ddeyA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001633931</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="bld:VestingCriteriaAxis">bld:VestingBasedOnServiceMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">us-gaap:RestrictedStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2023_To_3_31_2023_bld_VestingCriteriaAxis_bld_VestingBasedOnMarketConditionsMember_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_us-gaap_RestrictedStockMember_FALY4h_Bg0uKOBzLGkgxfQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001633931</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="bld:VestingCriteriaAxis">bld:VestingBasedOnMarketConditionsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">us-gaap:RestrictedStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2023_To_3_31_2023_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_us-gaap_EmployeeStockOptionMember_JTF_nuG900CtkAmFVcr1wA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001633931</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2022_To_3_31_2022_bld_VestingCriteriaAxis_bld_VestingBasedOnServiceMember_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_us-gaap_RestrictedStockMember_Pcsj0KvvGEe1syeIDuQieA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001633931</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="bld:VestingCriteriaAxis">bld:VestingBasedOnServiceMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">us-gaap:RestrictedStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2022_To_3_31_2022_bld_VestingCriteriaAxis_bld_VestingBasedOnPerformanceMember_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_us-gaap_RestrictedStockMember_iSBcQfCa80aJcCmonmGW2g"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001633931</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="bld:VestingCriteriaAxis">bld:VestingBasedOnPerformanceMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">us-gaap:RestrictedStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2022_To_3_31_2022_bld_VestingCriteriaAxis_bld_VestingBasedOnMarketConditionsMember_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_us-gaap_RestrictedStockMember_BhD1z8gATEeiUokXR7Bfmw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001633931</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="bld:VestingCriteriaAxis">bld:VestingBasedOnMarketConditionsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">us-gaap:RestrictedStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2022_To_3_31_2022_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_us-gaap_EmployeeStockOptionMember_y5429PFFEkO6VyO6sbJmNA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001633931</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2023_To_3_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_y9ZrgkF20kS6r6S1z861IA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001633931</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2022_To_3_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_YYMAF13PdEy8Y5mQdXKWYA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001633931</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2023_To_3_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockCommonMember_LmJ5UGKSyEy_y5otnMnfug"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001633931</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockCommonMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="As_Of_4_27_2023_zYQWudLbU0m59NYZ0QZwYg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001633931</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:instant>2023-04-27</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2022_To_3_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockCommonMember_ntDLPWP-Y0eL6UZY-7ZLNg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001633931</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockCommonMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="As_Of_2_21_2023_bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeAxis_bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeTwoMember_bld_VestingCriteriaAxis_bld_VestingBasedOnPerformanceMember_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockMember_l5UG-ysvDk2viXbPGwMbEw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001633931</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="bld:ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeAxis">bld:ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeTwoMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="bld:VestingCriteriaAxis">bld:VestingBasedOnPerformanceMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-02-21</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_2_21_2023_bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeAxis_bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeThreeMember_bld_VestingCriteriaAxis_bld_VestingBasedOnPerformanceMember_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockMember_0-WmCsYgt0qXtbmsAf9p7Q"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001633931</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="bld:ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeAxis">bld:ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeThreeMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="bld:VestingCriteriaAxis">bld:VestingBasedOnPerformanceMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-02-21</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_2_21_2023_bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeAxis_bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeOneMember_bld_VestingCriteriaAxis_bld_VestingBasedOnPerformanceMember_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockMember_IO3StBpGPEaMgNYwkFi3Mg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001633931</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="bld:ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeAxis">bld:ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeOneMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="bld:VestingCriteriaAxis">bld:VestingBasedOnPerformanceMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-02-21</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_2_21_2023_bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeAxis_bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeFourMember_bld_VestingCriteriaAxis_bld_VestingBasedOnPerformanceMember_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockMember_jbDpA-QgMkKdsvXRK4OAKQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001633931</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="bld:ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeAxis">bld:ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeFourMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="bld:VestingCriteriaAxis">bld:VestingBasedOnPerformanceMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-02-21</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_2_15_2022_bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeAxis_bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeTwoMember_bld_VestingCriteriaAxis_bld_VestingBasedOnPerformanceMember_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockMember_gzkUEjuqbUGHUIaU2L0iqQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001633931</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="bld:ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeAxis">bld:ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeTwoMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="bld:VestingCriteriaAxis">bld:VestingBasedOnPerformanceMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-02-15</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_2_15_2022_bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeAxis_bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeThreeMember_bld_VestingCriteriaAxis_bld_VestingBasedOnPerformanceMember_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockMember_69B2qlpGiUyrS2sGtwV1Rg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001633931</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="bld:ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeAxis">bld:ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeThreeMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="bld:VestingCriteriaAxis">bld:VestingBasedOnPerformanceMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-02-15</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_2_15_2022_bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeAxis_bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeOneMember_bld_VestingCriteriaAxis_bld_VestingBasedOnPerformanceMember_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockMember_FfGxCaBFRUiinAvspDeYjw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001633931</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="bld:ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeAxis">bld:ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeOneMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="bld:VestingCriteriaAxis">bld:VestingBasedOnPerformanceMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-02-15</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_2_15_2022_bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeAxis_bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeFourMember_bld_VestingCriteriaAxis_bld_VestingBasedOnPerformanceMember_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockMember_20pQ2vjZmkSA5Dupjdkg8w"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001633931</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="bld:ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeAxis">bld:ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeFourMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="bld:VestingCriteriaAxis">bld:VestingBasedOnPerformanceMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-02-15</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_2_16_2021_bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeAxis_bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeTwoMember_bld_VestingCriteriaAxis_bld_VestingBasedOnPerformanceMember_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockMember_wQlfxRhuEEiIk1YVEIupOg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001633931</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="bld:ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeAxis">bld:ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeTwoMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="bld:VestingCriteriaAxis">bld:VestingBasedOnPerformanceMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-02-16</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_2_16_2021_bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeAxis_bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeThreeMember_bld_VestingCriteriaAxis_bld_VestingBasedOnPerformanceMember_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockMember_OmmzHBSRv0KhXVLpnBFIfg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001633931</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="bld:ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeAxis">bld:ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeThreeMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="bld:VestingCriteriaAxis">bld:VestingBasedOnPerformanceMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-02-16</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_2_16_2021_bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeAxis_bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeOneMember_bld_VestingCriteriaAxis_bld_VestingBasedOnPerformanceMember_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockMember_TQ1nMhAYWki37seY7smhhQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001633931</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="bld:ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeAxis">bld:ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeOneMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="bld:VestingCriteriaAxis">bld:VestingBasedOnPerformanceMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-02-16</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_2_16_2021_bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeAxis_bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeFourMember_bld_VestingCriteriaAxis_bld_VestingBasedOnPerformanceMember_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockMember_qn3f1xhgzU-6EowhoDebyQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001633931</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="bld:ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeAxis">bld:ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeFourMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="bld:VestingCriteriaAxis">bld:VestingBasedOnPerformanceMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-02-16</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="Duration_2_21_2023_To_2_21_2023_bld_VestingCriteriaAxis_bld_VestingBasedOnPerformanceMember_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockMember__yz4vCyaPU6tUT1ZnQJqww"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001633931</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="bld:VestingCriteriaAxis">bld:VestingBasedOnPerformanceMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-02-21</xbrli:startDate><xbrli:endDate>2023-02-21</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_2_15_2022_To_2_15_2022_bld_VestingCriteriaAxis_bld_VestingBasedOnPerformanceMember_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockMember_Vngc00FGFUGnWHYv4_l1pA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001633931</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="bld:VestingCriteriaAxis">bld:VestingBasedOnPerformanceMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-02-15</xbrli:startDate><xbrli:endDate>2022-02-15</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_2_16_2021_To_2_16_2021_bld_VestingCriteriaAxis_bld_VestingBasedOnPerformanceMember_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockMember_mAR8SC5oNk-LBfrQnVMH1A"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001633931</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="bld:VestingCriteriaAxis">bld:VestingBasedOnPerformanceMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-02-16</xbrli:startDate><xbrli:endDate>2021-02-16</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2023_To_3_31_2023_bld_VestingCriteriaAxis_bld_VestingBasedOnPerformanceMember_us-gaap_AwardTypeAxis_bld_RestrictedStockAwardsGrantedFebruary2020Member_JDOLuVdfSUmfI_mfJmb_0w"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001633931</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="bld:VestingCriteriaAxis">bld:VestingBasedOnPerformanceMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">bld:RestrictedStockAwardsGrantedFebruary2020Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2023_To_3_31_2023_us-gaap_AwardTypeAxis_us-gaap_EmployeeStockOptionMember_ra7VRVHhWU2toZSs6t5jSg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001633931</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2022_To_3_31_2022_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockMember_UKkWCt5HdEySMnjbgbyOng"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001633931</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2023_To_3_31_2023_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockMember_4ijqTyXSBk22efw20Cbhig"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001633931</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2023_To_3_31_2023_bld_VestingCriteriaAxis_bld_VestingBasedOnPerformanceMember_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockMember_kcwD_RKwNEOBF7pNYw0mcA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001633931</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="bld:VestingCriteriaAxis">bld:VestingBasedOnPerformanceMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2023_To_3_31_2023_srt_StatementScenarioAxis_bld_EventOfDefaultScenarioMember_us-gaap_LongtermDebtTypeAxis_us-gaap_SeniorNotesMember_EVRX7VtzGkydUssIcKC12g"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001633931</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementScenarioAxis">bld:EventOfDefaultScenarioMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:SeniorNotesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="As_Of_3_31_2023_us-gaap_LongtermDebtTypeAxis_bld_SeniorNotesDue2032Member_elVgkkQg00Sj-9xwdaEdLA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001633931</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">bld:SeniorNotesDue2032Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_3_31_2023_us-gaap_LongtermDebtTypeAxis_bld_SeniorNotesDue2029Member_eAdN8VMzyUGhjAJyjAj6Mw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001633931</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">bld:SeniorNotesDue2029Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_3_31_2023_us-gaap_DebtInstrumentAxis_bld_AmendedCreditAgreementDecember2022Member_us-gaap_ShortTermDebtTypeAxis_us-gaap_RevolvingCreditFacilityMember_US7n4D7r1Um5G-0vFJkevA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001633931</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">bld:AmendedCreditAgreementDecember2022Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ShortTermDebtTypeAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_3_31_2023_us-gaap_DebtInstrumentAxis_bld_AmendedCreditAgreementDecember2022Member_1yTqinL9CUu7K_P14w9w4w"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001633931</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">bld:AmendedCreditAgreementDecember2022Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2022_To_3_31_2022_6vn3vE91T0CiaH7EkBeDAw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001633931</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2023_To_3_31_2023_bld_VestingCriteriaAxis_bld_VestingBasedOnServiceMember_196Upr8rOUC8z0WxIbpziQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001633931</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="bld:VestingCriteriaAxis">bld:VestingBasedOnServiceMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2023_To_3_31_2023_bld_VestingCriteriaAxis_bld_VestingBasedOnPerformanceMember_WhT4ZtMKAEy67fj6eZw9bw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001633931</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="bld:VestingCriteriaAxis">bld:VestingBasedOnPerformanceMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2023_To_3_31_2023_bld_VestingCriteriaAxis_bld_VestingBasedOnMarketConditionsMember_M8R4YOEGykmYSxy0DTQNfQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001633931</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="bld:VestingCriteriaAxis">bld:VestingBasedOnMarketConditionsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2022_To_3_31_2022_bld_VestingCriteriaAxis_bld_VestingBasedOnServiceMember_b81sW9t5NkqVPgyYgQhQDQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001633931</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="bld:VestingCriteriaAxis">bld:VestingBasedOnServiceMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2022_To_3_31_2022_bld_VestingCriteriaAxis_bld_VestingBasedOnPerformanceMember_FPfoYbYla06I9BvsmSrwjQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001633931</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="bld:VestingCriteriaAxis">bld:VestingBasedOnPerformanceMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2022_To_3_31_2022_bld_VestingCriteriaAxis_bld_VestingBasedOnMarketConditionsMember_WOts3HCPRUyIrwREZwOb_A"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001633931</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="bld:VestingCriteriaAxis">bld:VestingBasedOnMarketConditionsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2023_To_3_31_2023_us-gaap_CreditFacilityAxis_bld_BaseRateBorrowingsMember_us-gaap_DebtInstrumentAxis_bld_AmendedCreditAgreementDecember2022Member_us-gaap_VariableRateAxis_us-gaap_SecuredOvernightFinancingRateSofrOvernightIndexSwapRateMember_3wsFuSaPSUqVx4842Jk4dw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001633931</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">bld:BaseRateBorrowingsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">bld:AmendedCreditAgreementDecember2022Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">us-gaap:SecuredOvernightFinancingRateSofrOvernightIndexSwapRateMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2023_To_3_31_2023_us-gaap_DebtInstrumentAxis_bld_SeniorNotesDue2032Member_us-gaap_DebtInstrumentRedemptionPeriodAxis_bld_DebtInstrumentRedemptionPeriodSixMember_FWHXZNoK0ECpaOEjmSmchQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001633931</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">bld:SeniorNotesDue2032Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentRedemptionPeriodAxis">bld:DebtInstrumentRedemptionPeriodSixMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2023_To_3_31_2023_us-gaap_CreditFacilityAxis_bld_SofrRateBorrowingsMember_us-gaap_DebtInstrumentAxis_bld_AmendedCreditAgreementDecember2022Member_uEO3yzpci06N4bN594PGJA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001633931</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">bld:SofrRateBorrowingsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">bld:AmendedCreditAgreementDecember2022Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2023_To_3_31_2023_us-gaap_DebtInstrumentAxis_bld_SeniorNotesDue2032Member_us-gaap_DebtInstrumentRedemptionPeriodAxis_bld_DebtInstrumentRedemptionPeriodSevenMember_DYvPsDtYMEqPyF1Xdb-yng"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001633931</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">bld:SeniorNotesDue2032Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentRedemptionPeriodAxis">bld:DebtInstrumentRedemptionPeriodSevenMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2023_To_3_31_2023_srt_StatementScenarioAxis_bld_DebtInstrumentRedemptionOptionTwoMember_us-gaap_DebtInstrumentRedemptionPeriodAxis_us-gaap_DebtInstrumentRedemptionPeriodOneMember_gYS1QElbA06_C_hcxzcVwg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001633931</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementScenarioAxis">bld:DebtInstrumentRedemptionOptionTwoMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentRedemptionPeriodAxis">us-gaap:DebtInstrumentRedemptionPeriodOneMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2023_To_3_31_2023_srt_RangeAxis_srt_MinimumMember_us-gaap_CreditFacilityAxis_bld_SofrRateBorrowingsMember_us-gaap_DebtInstrumentAxis_bld_AmendedCreditAgreementDecember2022Member_qqyoFIJb90-TK4nokPe6YQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001633931</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">bld:SofrRateBorrowingsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">bld:AmendedCreditAgreementDecember2022Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2023_To_3_31_2023_srt_RangeAxis_srt_MinimumMember_us-gaap_CreditFacilityAxis_bld_BaseRateBorrowingsMember_us-gaap_DebtInstrumentAxis_bld_AmendedCreditAgreementDecember2022Member_2mxFiM8-YEGzpqnVMCBdWg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001633931</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">bld:BaseRateBorrowingsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">bld:AmendedCreditAgreementDecember2022Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2023_To_3_31_2023_srt_RangeAxis_srt_MaximumMember_us-gaap_CreditFacilityAxis_bld_SofrRateBorrowingsMember_us-gaap_DebtInstrumentAxis_bld_AmendedCreditAgreementDecember2022Member_24lMMhU0VUyhLuGNOyJ-LA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001633931</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">bld:SofrRateBorrowingsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">bld:AmendedCreditAgreementDecember2022Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2023_To_3_31_2023_srt_RangeAxis_srt_MaximumMember_us-gaap_CreditFacilityAxis_bld_BaseRateBorrowingsMember_us-gaap_DebtInstrumentAxis_bld_AmendedCreditAgreementDecember2022Member_myYgiyHSo0iyzP0cBPMYqA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001633931</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">bld:BaseRateBorrowingsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">bld:AmendedCreditAgreementDecember2022Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001633931</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="As_Of_3_31_2023_if5iG1tra0aH_pegPPBopw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001633931</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:instant>2023-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2022_3M6K0OeVvUOHwft-0BiHjg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001633931</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:unit id="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw"><xbrli:measure>iso4217:USD</xbrli:measure></xbrli:unit><xbrli:unit id="Unit_Standard_pure_AMt-SnY1f0Gk50TcxvjL4w"><xbrli:measure>xbrli:pure</xbrli:measure></xbrli:unit><xbrli:unit id="Unit_Standard_shares_eiECwuXP0kO6JM1Li4xT6g"><xbrli:measure>xbrli:shares</xbrli:measure></xbrli:unit><xbrli:unit id="Unit_Divide_USD_shares_imdDf3-8d0qa5ZDAI6M6QA"><xbrli:divide><xbrli:unitNumerator><xbrli:measure>iso4217:USD</xbrli:measure></xbrli:unitNumerator><xbrli:unitDenominator><xbrli:measure>xbrli:shares</xbrli:measure></xbrli:unitDenominator></xbrli:divide></xbrli:unit><xbrli:unit id="Unit_Standard_segment_HCZxDtsxZkOWPezqk_jBvQ"><xbrli:measure>bld:segment</xbrli:measure></xbrli:unit><xbrli:unit id="Unit_Standard_item_GJgK42ZUUEmNd0DcF3veSw"><xbrli:measure>bld:item</xbrli:measure></xbrli:unit></ix:resources></ix:header></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:18pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt 0pt 30pt 0pt;"><a href="#Toc"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;min-height:9.2pt;"><a id="_7c0b82be_217c_43b7_821f_acd3c593ba77"></a><div style="padding-top:1.0px;border-top:3.0pt solid #000000;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;padding-top:1pt;text-align:center;border-top:1.0pt solid #000000;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></div><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:11pt;text-align:center;margin:0pt;"><b style="font-size:12pt;font-weight:bold;">UNITED STATES</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-size:12pt;font-weight:bold;">SECURITIES AND EXCHANGE </b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-size:12pt;font-weight:bold;">COMMISSION</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-size:12pt;font-weight:bold;white-space:pre-wrap;">WASHINGTON, D.C.  20549</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:6pt;font-weight:bold;visibility:hidden;">&#8203;</span></p><div style="font-family:'Times New Roman','Times','serif';font-size:8.0pt;margin-bottom:0pt;min-height:1.19em;position:relative;width:100%;"><div style="background-color:#000000;height:1pt;position:relative;top:0.6em;width:25.0%;border:none;margin:0 auto;"></div></div><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:6pt;font-weight:bold;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:18pt;line-height:1.19;text-align:center;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">FORM </b><ix:nonNumeric contextRef="Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA" name="dei:DocumentType" id="Narr_v0UE8qLcHEStNhiyODdt7Q"><b style="font-weight:bold;">10-Q</b></ix:nonNumeric></p><a id="_fac5e616_6b14_4f5e_b236_874688ada7ea"></a><a id="Tc_Rwyuo4khvkaeTGdcQ4Sjmw_1_0"></a><a id="Tc_QdJ7KjBOwEqtC1gB7hhU5A_2_1"></a><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:top;width:1.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:0pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:top;width:98.35%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:0pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td colspan="2" style="vertical-align:top;width:100%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:11pt;text-align:justify;margin:0pt;"><b style="font-weight:bold;">(Mark One)</b></p></td></tr><tr><td style="vertical-align:top;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;line-height:11pt;text-align:justify;margin:6pt 0pt 0pt 0pt;"><ix:nonNumeric format="ixt-sec:boolballotbox" contextRef="Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA" name="dei:DocumentQuarterlyReport" id="Tc_JgJmxV4j2UyE773X1Ij5gg_2_0"><b style="font-family:'Segoe UI Symbol';font-weight:bold;">&#9746;</b></ix:nonNumeric></p></td><td style="vertical-align:top;white-space:nowrap;width:98.35%;margin:0pt;padding:0pt 0pt 0pt 3.59pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:11pt;text-align:justify;margin:6pt 0pt 0pt 0pt;"><b style="font-size:12pt;font-weight:bold;">QUARTERLY REPORT PURSUANT TO SECTION 13 OR 15(d) OF THE SECURITIES EXCHANGE ACT OF 1934</b></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:11pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">For the quarterly period </b><ix:nonNumeric format="ixt:datemonthdayyearen" contextRef="Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA" name="dei:DocumentPeriodEndDate" id="Narr_WJcHSwOxeEScrJRB3tMjcQ"><b style="font-weight:bold;">March&#160;31,&#160;2023</b></ix:nonNumeric></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><a id="_609bbee1_e953_4e58_96ed_e72dbc380af0"></a><a id="Tc_8zrxprWovk27ljkPYekxIw_1_1"></a><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:top;width:1.65%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:0pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:top;width:98.34%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:0pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:top;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;line-height:11pt;text-align:justify;margin:0pt;"><ix:nonNumeric format="ixt-sec:boolballotbox" contextRef="Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA" name="dei:DocumentTransitionReport" id="Tc_j26VP0VSeEqDEW7DR0Afwg_1_0"><b style="font-family:'Segoe UI Symbol';font-weight:bold;">&#9744;</b></ix:nonNumeric></p></td><td style="vertical-align:top;white-space:nowrap;width:98.34%;margin:0pt;padding:0pt 0pt 0pt 3.59pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:11pt;text-align:justify;margin:0pt;"><b style="font-size:12pt;font-weight:bold;">TRANSITION REPORT PURSUANT TO SECTION 13 OR 15(d) OF THE SECURITIES EXCHANGE ACT OF 1934</b></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:11pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">For the transition period from </b><b style="font-weight:bold;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</b><b style="font-weight:bold;"> to </b><b style="font-weight:bold;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:11pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Commission file number: </b><ix:nonNumeric contextRef="Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA" name="dei:EntityFileNumber" id="Narr_n-igQvkkUEaCay42MjeVZw"><b style="font-weight:bold;">001-36870</b></ix:nonNumeric></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:18pt;line-height:1.19;text-align:center;margin:0pt;"><ix:nonNumeric contextRef="Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA" name="dei:EntityRegistrantName" id="Narr_eH9C7bjV1E66jQXlug4BCQ"><b style="font-weight:bold;">TopBuild Corp</b></ix:nonNumeric><b style="font-weight:bold;">.</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;">(Exact name of Registrant as Specified in its Charter)</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:1.45pt;padding-right:1.45pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:top;width:51.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:48.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:51.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:11pt;padding-left:7.2pt;text-align:center;text-indent:-7.2pt;margin:0pt;"><ix:nonNumeric format="ixt-sec:stateprovnameen" contextRef="Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA" name="dei:EntityIncorporationStateCountryCode" id="Narr_HyUCTBtXXkaspbplXd71Ng"><b style="font-weight:bold;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Delaware</b></ix:nonNumeric></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:11pt;padding-left:7.2pt;text-align:center;text-indent:-7.2pt;margin:0pt;">(State or Other Jurisdiction of Incorporation or<br />Organization)</p></td><td style="vertical-align:top;width:48.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><ix:nonNumeric contextRef="Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA" name="dei:EntityTaxIdentificationNumber" id="Narr_gKd7RNMnoE2suQe6V4RlCA"><b style="font-weight:bold;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">47-3096382</b></ix:nonNumeric></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;">(I.R.S. Employer<br />Identification No.)</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:1.45pt;padding-right:1.45pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:top;width:53.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:46.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:53.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:11pt;text-align:center;margin:0pt;"><ix:nonNumeric contextRef="Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA" name="dei:EntityAddressAddressLine1" id="Narr__Yf91L9tuUS-MjOWOaKGCg"><b style="font-weight:bold;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">475 North Williamson Boulevard</b></ix:nonNumeric></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:11pt;text-align:center;margin:0pt;"><ix:nonNumeric contextRef="Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA" name="dei:EntityAddressCityOrTown" id="Narr_3iyka59nqEmGuDS2NvpGow"><b style="font-weight:bold;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Daytona Beach</b></ix:nonNumeric><b style="font-weight:bold;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">, </b><ix:nonNumeric format="ixt-sec:stateprovnameen" contextRef="Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA" name="dei:EntityAddressStateOrProvince" id="Narr_zeezFJ-eqkuAba91LirRig"><b style="font-weight:bold;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Florida</b></ix:nonNumeric></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:11pt;text-align:center;margin:0pt;">(Address of Principal Executive Offices)</p></td><td style="vertical-align:top;width:46.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt 36.8pt 0pt 0pt;"><ix:nonNumeric contextRef="Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA" name="dei:EntityAddressPostalZipCode" id="Narr_tgHOJIV5uEGNvQqDlYvhtw"><b style="font-weight:bold;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">32114</b></ix:nonNumeric></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt 36.8pt 0pt 0pt;">(Zip Code)</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">(</b><ix:nonNumeric contextRef="Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA" name="dei:CityAreaCode" id="Narr_QR6EUMkIHEOMxEUxiw2rJw"><b style="font-weight:bold;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">386</b></ix:nonNumeric><b style="font-weight:bold;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">) </b><ix:nonNumeric contextRef="Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA" name="dei:LocalPhoneNumber" id="Narr_DBai_itS3E2otSTECaNsGQ"><b style="font-weight:bold;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">304-2200</b></ix:nonNumeric></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;">(Registrant&#39;s telephone number, including area code)</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:justify;margin:0pt;">Securities registered pursuant to Section 12(b) of the Act:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:3pt;visibility:hidden;">&#8203;</span></p><a id="_f2157da5_eec0_4650_a90f_1cbd293337b9"></a><a id="Tc_SCR7f5bHyUibMYl2JLrLuw_0_0"></a><a id="Tc_xU5s239znky5qZnjySEhrw_0_1"></a><a id="Tc_el5gFnNiwkS24Q83SMbZ7w_0_2"></a><table style="border-collapse:collapse;font-size:16pt;height:max-content;width:100%;"><tr style="height:18pt;"><td style="vertical-align:bottom;width:36.65%;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;">Title of each class</p></td><td style="vertical-align:bottom;width:19.6%;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;">Trading Symbol(s)</p></td><td style="vertical-align:bottom;width:43.74%;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;">Name of each exchange on which registered</p></td></tr><tr style="height:17.4pt;"><td style="vertical-align:top;width:36.65%;border-top:1px solid #000000;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><ix:nonNumeric contextRef="Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA" name="dei:Security12bTitle" id="Tc_kcidw3f4Y0ulsbGTzg0hyQ_1_0"><span style="font-size:9pt;">Common stock, par value $0.01 per share</span></ix:nonNumeric></p></td><td style="vertical-align:top;width:19.6%;border-top:1px solid #000000;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><ix:nonNumeric contextRef="Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA" name="dei:TradingSymbol" id="Tc_bX9F-sCBDEGFJnE4_8V_wQ_1_1"><span style="font-size:9pt;">BLD</span></ix:nonNumeric></p></td><td style="vertical-align:top;width:43.74%;border-top:1px solid #000000;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><ix:nonNumeric format="ixt-sec:exchnameen" contextRef="Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA" name="dei:SecurityExchangeName" id="Tc_qLwZ-aSzEUuRt-NIsNPYSg_1_2"><span style="font-size:9pt;">New York Stock Exchange</span></ix:nonNumeric></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="font-size:8pt;">Indicate by check mark whether the registrant (1) has filed all reports required to be filed by Section 13 or 15(d) of the Securities Exchange Act of 1934 during the preceding 12 months (or for such shorter period that the registrant was required to file such reports), and (2) has been subject to such filing requirements for the past 90 days.</span><span style="display:inline-block;width:19.33pt;"></span><b style="font-family:'Times New Roman';font-size:8pt;font-weight:bold;">&#8999;</b><span style="font-size:8pt;"> </span><ix:nonNumeric contextRef="Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA" name="dei:EntityCurrentReportingStatus" id="Narr_jzvsOrpIUUCcHYP7B-hatw"><span style="font-size:8pt;">Yes</span></ix:nonNumeric><span style="font-size:8pt;"> &#160; &#160; &#160; &#160; &#160; &#160;</span><span style="font-family:'Times New Roman';font-size:8pt;">&#9723;</span><span style="font-size:8pt;"> No</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="font-size:8pt;">Indicate by check mark whether the registrant has submitted electronically every Interactive Data File required to be submitted pursuant to Rule 405 of Regulation S-T (&#167;232.405 of this chapter) during the preceding 12 months (or for such shorter period that the registrant was required to submit such files). &#160; &#160; </span><b style="font-family:'Times New Roman';font-size:8pt;font-weight:bold;">&#8999;</b><span style="font-size:8pt;"> </span><ix:nonNumeric contextRef="Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA" name="dei:EntityInteractiveDataCurrent" id="Narr_9MccpFBGk0-fJrcjbk8eOA"><span style="font-size:8pt;">Yes</span></ix:nonNumeric><span style="font-size:8pt;"> &#160; &#160; &#160; &#160; &#160; &#160;</span><span style="font-family:'Times New Roman';font-size:8pt;">&#9723;</span><span style="font-size:8pt;"> No</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:justify;margin:0pt;">Indicate by check mark whether the registrant is a large accelerated filer, an accelerated filer, a non-accelerated filer, a smaller reporting company, or an emerging growth company. &#160;See the definitions of &#8220;large accelerated filer,&#8221; &#8220;accelerated filer,&#8221; &#8220;smaller reporting company,&#8221; and &#8220;emerging growth company&#8221; in Rule 12b-2 of the Exchange Act. &#160;</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><ix:nonNumeric format="ixt-sec:entityfilercategoryen" contextRef="Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA" name="dei:EntityFilerCategory" id="Narr_FtQjS_FzqEGETQkLdZhW4Q"><span style="font-size:8pt;">Large accelerated filer</span></ix:nonNumeric><span style="font-size:8pt;"> &#160;</span><b style="font-family:'Segoe UI Symbol';font-size:9pt;font-weight:bold;">&#9746;</b><span style="font-size:8pt;"> &#160; &#160;Accelerated filer &#160;</span><b style="font-family:'Segoe UI Symbol';font-size:8pt;font-weight:bold;">&#9744;</b><span style="font-size:8pt;"> &#160; &#160;Non-accelerated filer </span><b style="font-family:'Segoe UI Symbol';font-size:8pt;font-weight:bold;">&#9744;</b><span style="font-size:8pt;"> &#160; Smaller reporting company &#160;</span><ix:nonNumeric format="ixt-sec:boolballotbox" contextRef="Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA" name="dei:EntitySmallBusiness" id="Narr_KuUnQ3v_90mSgElvuXMXkA"><b style="font-family:'Segoe UI Symbol';font-size:8pt;font-weight:bold;">&#9744;</b></ix:nonNumeric><span style="font-size:8pt;"> &#160; Emerging growth company &#160;</span><ix:nonNumeric format="ixt-sec:boolballotbox" contextRef="Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA" name="dei:EntityEmergingGrowthCompany" id="Narr_aruRwQ-BpkG9igQ1T-Y57Q"><b style="font-family:'Segoe UI Symbol';font-size:8pt;font-weight:bold;">&#9744;</b></ix:nonNumeric></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:justify;margin:0pt;">If an emerging growth company, indicate by check mark if the registrant has elected not to use the extended transition period for complying with any new or revised financial accounting standards provided pursuant to Section 13(a) of the Exchange Act &#160;<span style="font-family:'Times New Roman';">&#9723;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="font-size:8pt;">Indicate by check mark whether the registrant is a shell company (as defined in Rule 12b-2 of the Exchange Act). &#160;</span><ix:nonNumeric format="ixt-sec:boolballotbox" contextRef="Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA" name="dei:EntityShellCompany" id="Narr_3ilcgSzILE-HgZOoqDw_pA"><b style="font-family:'Segoe UI Symbol';font-size:8pt;font-weight:bold;">&#9744;</b></ix:nonNumeric><span style="font-size:8pt;"> Yes &#160; &#160; &#160; &#160; &#160; &#160;</span><b style="font-family:'Segoe UI Symbol';font-size:9pt;font-weight:bold;">&#9746;</b><span style="font-size:8pt;"> No</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;margin:0pt;">The registrant had outstanding <ix:nonFraction unitRef="Unit_Standard_shares_eiECwuXP0kO6JM1Li4xT6g" format="ixt:numdotdecimal" scale="0" contextRef="As_Of_4_27_2023_zYQWudLbU0m59NYZ0QZwYg" decimals="INF" name="dei:EntityCommonStockSharesOutstanding" id="Narr_UI2dczerO06UgpdbQt_t6g">31,749,321</ix:nonFraction> shares of Common Stock, par value $0.01 per share as of April 27, 2023.</p><div style="padding-bottom:1.0px;border-bottom:3.0pt solid #000000;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;padding-bottom:1pt;border-bottom:1.0pt solid #000000;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></div><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p><p style="display:none;font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:0pt;margin:0pt;"><span style="font-size:0pt;line-height:1.19;visibility:hidden;">&#8203;</span></p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:10.35%;padding-right:10.35%;position:relative;"><div style="margin-top:21.6pt;min-height:41.75pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt 0pt 30pt 0pt;"><a href="#Toc"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><a id="_09448535_e9b5_4719_ba8b_4c4ef390dfee"></a><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;line-height:1.19;text-align:center;margin:0pt;">TOPBUILD CORP.</p><a id="Toc"></a><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;line-height:1.19;text-align:center;margin:0pt;">TABLE OF CONTENTS</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;table-layout:auto;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:0.22%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:top;width:7.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:0pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td colspan="2" style="vertical-align:bottom;width:82.41%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;width:10.15%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td colspan="3" style="vertical-align:bottom;width:8.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:81.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:10.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><b style="font-weight:bold;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Page No.</b></p></td></tr><tr><td colspan="3" style="vertical-align:bottom;width:8.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><a href="#PartI_Financial_Information"><span style="font-style:normal;font-weight:normal;text-transform:uppercase;">Part I.</span></a><span style="text-transform:uppercase;"> </span></p></td><td style="vertical-align:bottom;width:81.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><a href="#PartI_Financial_Information"><span style="font-style:normal;font-weight:normal;text-transform:uppercase;">Financial Information</span></a></p></td><td style="vertical-align:bottom;white-space:normal;width:10.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="text-transform:uppercase;visibility:hidden;">&#8203;</span></p></td></tr><tr><td colspan="3" style="vertical-align:bottom;width:8.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:81.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:normal;width:10.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td colspan="3" style="vertical-align:bottom;width:8.34%;margin:0pt;padding:0pt 0pt 0pt 1.45pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><a href="#Item1FINANCIALSTATEMENTS_199169"><span style="font-style:normal;font-weight:normal;">Item 1.</span></a> </p></td><td style="vertical-align:bottom;width:81.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><a href="#Item1FINANCIALSTATEMENTS_199169"><span style="font-style:normal;font-weight:normal;">Financial Statements (Unaudited)</span></a></p></td><td style="vertical-align:bottom;white-space:normal;width:10.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td colspan="3" style="vertical-align:bottom;width:8.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:81.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:normal;width:10.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td colspan="3" style="vertical-align:bottom;width:8.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:81.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><a href="#CONDENSEDCONSOLIDATEDBALANCESHEETS_67058"><span style="font-style:normal;font-weight:normal;">Condensed Consolidated Balance Sheets</span></a></p></td><td style="vertical-align:bottom;white-space:normal;width:10.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;">4</span></p></td></tr><tr><td colspan="3" style="vertical-align:bottom;width:8.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:81.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:normal;width:10.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td colspan="3" style="vertical-align:bottom;width:8.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:81.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><a href="#STATEMENTSOFOPERATIONS_580054"><span style="font-style:normal;font-weight:normal;">Condensed Consolidated Statements of Operations </span></a></p></td><td style="vertical-align:bottom;white-space:normal;width:10.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;">5</span></p></td></tr><tr><td colspan="3" style="vertical-align:bottom;width:8.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:81.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:normal;width:10.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td colspan="3" style="vertical-align:bottom;width:8.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:81.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><a href="#Comprehensive_Income"><span style="font-style:normal;font-weight:normal;">Condensed Consolidated Statements of Comprehensive Income</span></a> </p></td><td style="vertical-align:bottom;white-space:normal;width:10.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;">6</span></p></td></tr><tr><td colspan="3" style="vertical-align:bottom;width:8.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:81.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:normal;width:10.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td colspan="3" style="vertical-align:bottom;width:8.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:81.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><a href="#STATEMENTSOFCASHFLOWS_518086"><span style="font-style:normal;font-weight:normal;">Condensed Consolidated Statements of Cash Flows </span></a></p></td><td style="vertical-align:bottom;white-space:normal;width:10.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;">7</span></p></td></tr><tr><td colspan="3" style="vertical-align:bottom;width:8.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:81.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:normal;width:10.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td colspan="3" style="vertical-align:bottom;width:8.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:81.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><a href="#STATEMENTSOFEQUITY_825008"><span style="font-style:normal;font-weight:normal;">Condensed Consolidated Statements of Changes in Equity</span></a></p></td><td style="vertical-align:bottom;white-space:normal;width:10.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;">8</span></p></td></tr><tr><td colspan="3" style="vertical-align:bottom;width:8.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:81.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:normal;width:10.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td colspan="3" style="vertical-align:bottom;width:8.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:81.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><a href="#ABASISOFPRESENTATION_126716"><span style="font-style:normal;font-weight:normal;">Notes to Condensed Consolidated Financial Statements</span></a></p></td><td style="vertical-align:bottom;white-space:normal;width:10.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;">9</span></p></td></tr><tr><td colspan="3" style="vertical-align:bottom;width:8.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:81.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:normal;width:10.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td colspan="3" style="vertical-align:bottom;width:8.34%;margin:0pt;padding:0pt 0pt 0pt 1.45pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><a href="#ITEM2MANAGEMENTSDISCUSSIONANDANALYSISOFF"><span style="font-style:normal;font-weight:normal;">Item 2.</span></a> </p></td><td style="vertical-align:bottom;width:81.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><a href="#ITEM2MANAGEMENTSDISCUSSIONANDANALYSISOFF"><span style="font-style:normal;font-weight:normal;">Management&#39;s Discussion and Analysis of Financial Condition and Results of Operations</span></a></p></td><td style="vertical-align:bottom;white-space:normal;width:10.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;">20</span></p></td></tr><tr><td colspan="3" style="vertical-align:bottom;width:8.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:81.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:normal;width:10.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td colspan="3" style="vertical-align:bottom;width:8.34%;margin:0pt;padding:0pt 0pt 0pt 1.45pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><a href="#Disclosures_About_Mkt_Risk"><span style="font-style:normal;font-weight:normal;">Item 3.</span></a> </p></td><td style="vertical-align:bottom;width:81.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><a href="#Disclosures_About_Mkt_Risk"><span style="font-style:normal;font-weight:normal;">Quantitative and Qualitative Disclosures About Market Risk</span></a></p></td><td style="vertical-align:bottom;white-space:normal;width:10.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;">25</span></p></td></tr><tr><td colspan="3" style="vertical-align:bottom;width:8.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:81.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:normal;width:10.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td colspan="3" style="vertical-align:bottom;width:8.34%;margin:0pt;padding:0pt 0pt 0pt 1.45pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><a href="#Item4_ControlsandProc"><span style="font-style:normal;font-weight:normal;">Item 4.</span></a> </p></td><td style="vertical-align:bottom;width:81.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><a href="#Item4_ControlsandProc"><span style="font-style:normal;font-weight:normal;">Controls and Procedures</span></a></p></td><td style="vertical-align:bottom;white-space:normal;width:10.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;">25</span></p></td></tr><tr><td colspan="3" style="vertical-align:bottom;width:8.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:81.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:normal;width:10.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td colspan="3" style="vertical-align:bottom;width:8.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><a href="#PartII_Other_Information"><span style="font-style:normal;font-weight:normal;text-transform:uppercase;">Part II.</span></a><span style="text-transform:uppercase;"> </span></p></td><td style="vertical-align:bottom;width:81.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><a href="#PartII_Other_Information"><span style="font-style:normal;font-weight:normal;text-transform:uppercase;">Other Information</span></a></p></td><td style="vertical-align:bottom;white-space:normal;width:10.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td colspan="3" style="vertical-align:bottom;width:8.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:81.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:normal;width:10.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td colspan="3" style="vertical-align:bottom;width:8.34%;margin:0pt;padding:0pt 0pt 0pt 1.45pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><a href="#Legal_Proceedings"><span style="font-style:normal;font-weight:normal;">Item 1.</span></a> </p></td><td style="vertical-align:bottom;width:81.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><a href="#_Item_1.__1"><span style="font-style:normal;font-weight:normal;">Legal Proceedings</span></a></p></td><td style="vertical-align:bottom;white-space:normal;width:10.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;">26</span></p></td></tr><tr><td colspan="3" style="vertical-align:bottom;width:8.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:81.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:normal;width:10.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td colspan="3" style="vertical-align:bottom;width:8.34%;margin:0pt;padding:0pt 0pt 0pt 1.45pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><a href="#Risk_Factors"><span style="font-style:normal;font-weight:normal;">Item 1A.</span></a> </p></td><td style="vertical-align:bottom;width:81.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><a href="#Risk_Factors"><span style="font-style:normal;font-weight:normal;">Risk Factors</span></a></p></td><td style="vertical-align:bottom;white-space:normal;width:10.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;">26</span></p></td></tr><tr><td colspan="3" style="vertical-align:bottom;width:8.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:81.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:normal;width:10.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td colspan="3" style="vertical-align:bottom;width:8.34%;margin:0pt;padding:0pt 0pt 0pt 1.45pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><a href="#Unregistered_Sale"><span style="font-style:normal;font-weight:normal;">Item 2.</span></a> </p></td><td style="vertical-align:bottom;width:81.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><a href="#Unregistered_Sale"><span style="font-style:normal;font-weight:normal;">Unregistered Sales of Equity Securities and Use of Proceeds</span></a></p></td><td style="vertical-align:bottom;white-space:normal;width:10.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;">26</span></p></td></tr><tr><td colspan="3" style="vertical-align:bottom;width:8.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:81.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:normal;width:10.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td colspan="3" style="vertical-align:bottom;width:8.34%;margin:0pt;padding:0pt 0pt 0pt 1.45pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><a href="#Defaults"><span style="font-style:normal;font-weight:normal;">Item 3.</span></a> </p></td><td style="vertical-align:bottom;width:81.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><a href="#Defaults"><span style="font-style:normal;font-weight:normal;">Defaults upon Senior Securities</span></a></p></td><td style="vertical-align:bottom;white-space:normal;width:10.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;">26</span></p></td></tr><tr><td colspan="3" style="vertical-align:bottom;width:8.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:81.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:normal;width:10.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td colspan="3" style="vertical-align:bottom;width:8.34%;margin:0pt;padding:0pt 0pt 0pt 1.45pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><a href="#Mine_Safety"><span style="font-style:normal;font-weight:normal;">Item 4.</span></a> </p></td><td style="vertical-align:bottom;width:81.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><a href="#Mine_Safety"><span style="font-style:normal;font-weight:normal;">Mine Safety Disclosures</span></a></p></td><td style="vertical-align:bottom;white-space:normal;width:10.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;">26</span></p></td></tr><tr><td colspan="3" style="vertical-align:bottom;width:8.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:81.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:normal;width:10.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td colspan="3" style="vertical-align:bottom;width:8.34%;margin:0pt;padding:0pt 0pt 0pt 1.45pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><a href="#Other_info"><span style="font-style:normal;font-weight:normal;">Item 5.</span></a> </p></td><td style="vertical-align:bottom;width:81.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><a href="#_Item_5._"><span style="font-style:normal;font-weight:normal;">Other Information</span></a></p></td><td style="vertical-align:bottom;white-space:normal;width:10.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;">26</span></p></td></tr><tr><td colspan="3" style="vertical-align:bottom;width:8.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:81.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:normal;width:10.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td colspan="3" style="vertical-align:bottom;width:8.34%;margin:0pt;padding:0pt 0pt 0pt 1.45pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><a href="#Item6_Exhibits"><span style="font-style:normal;font-weight:normal;">Item 6.</span></a> </p></td><td style="vertical-align:bottom;width:81.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><a href="#_Item_6._"><span style="font-style:normal;font-weight:normal;">Exhibits</span></a></p></td><td style="vertical-align:bottom;white-space:normal;width:10.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;">26</span></p></td></tr><tr><td colspan="3" style="vertical-align:bottom;width:8.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:81.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:normal;width:10.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td colspan="4" style="vertical-align:bottom;width:89.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><a href="#Exhibit_Index"><span style="font-style:normal;font-weight:normal;">Index to Exhibits</span></a></p></td><td style="vertical-align:bottom;white-space:normal;width:10.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;">27</span></p></td></tr><tr><td colspan="3" style="vertical-align:bottom;width:8.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:81.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:normal;width:10.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td colspan="4" style="vertical-align:bottom;width:89.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><a href="#Signature_195545"><span style="font-style:normal;font-weight:normal;">Signature</span></a></p></td><td style="vertical-align:bottom;white-space:normal;width:10.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;">28</span></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.28;margin:0pt 0pt 8pt 0pt;"><span style="line-height:1.19;margin-bottom:0pt;visibility:hidden;">&#8203;</span></p></div><div style="clear:both;display:table;margin-bottom:30pt;min-height:0.35pt;width:100%;"><div style="display:table-cell;vertical-align:bottom;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:24pt 0pt 0pt 0pt;">2</p></div></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:79.3%;border:0;margin:30pt 10.35% 30pt 10.35%;"></div><div style="max-width:100%;padding-left:10.35%;padding-right:10.35%;position:relative;"><div style="margin-top:21.6pt;min-height:41.75pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt 0pt 30pt 0pt;"><a href="#Toc"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><a id="_42e94254_f71e_4f20_929a_2b5d8b22f759"></a><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;line-height:1.19;text-align:center;margin:0pt;"><span style="font-weight:normal;">GLOSSARY</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;">We use acronyms, abbreviations, and other defined terms throughout this quarterly report on Form 10-Q, which are defined in the glossary below:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:top;white-space:nowrap;width:27.82%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:0pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:top;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:0pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:top;white-space:nowrap;width:69.99%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:0pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:top;white-space:nowrap;width:27.82%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-size:8.5pt;font-weight:bold;">Term</b></p></td><td style="vertical-align:top;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:8.5pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:69.99%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-size:8.5pt;font-weight:bold;">Definition</b></p></td></tr><tr><td style="vertical-align:top;white-space:nowrap;width:27.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;margin:0pt;"><span style="font-size:8.5pt;">3.625% Senior Notes</span></p></td><td style="vertical-align:top;white-space:nowrap;width:2.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8.5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:69.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;margin:0pt;"><span style="font-size:8.5pt;">TopBuild&#39;s 3.625% senior unsecured notes issued March 15, 2021 and due March 15, 2029</span></p></td></tr><tr><td style="vertical-align:top;white-space:nowrap;width:27.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;margin:0pt;"><span style="font-size:8.5pt;">4.125% Senior Notes</span></p></td><td style="vertical-align:top;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8.5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:69.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;margin:0pt;"><span style="font-size:8.5pt;">TopBuild&#39;s 4.125% senior unsecured notes issued October 14, 2021 and due February 15, 2032</span></p></td></tr><tr><td style="vertical-align:top;width:27.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;margin:0pt;"><span style="font-size:8.5pt;">2015 LTIP</span></p></td><td style="vertical-align:top;white-space:nowrap;width:2.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:8.5pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:69.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;margin:0pt;">2015 Long-Term Incentive Program authorizes the Board to grant stock options, stock appreciation rights, restricted shares, restricted share units, performance awards, and dividend equivalents</p></td></tr><tr><td style="vertical-align:top;white-space:nowrap;width:27.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;margin:0pt;"><span style="font-size:8.5pt;">2022 Repurchase Program</span></p></td><td style="vertical-align:top;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8.5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:69.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;margin:0pt;"><span style="font-size:8.5pt;">$200 million share repurchase program authorized by the Board on July 25, 2022</span></p></td></tr><tr><td style="vertical-align:top;white-space:nowrap;width:27.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;margin:0pt;"><span style="font-size:8.5pt;">Amendment No. 3 to Credit Agreement</span></p></td><td style="vertical-align:top;white-space:nowrap;width:2.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8.5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:69.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;margin:0pt;"><span style="font-size:8.5pt;">Amendment No. 3 to the Credit Agreement dated December 9, 2022</span></p></td></tr><tr><td style="vertical-align:top;white-space:nowrap;width:27.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;margin:0pt;"><span style="font-size:8.5pt;">Annual Report</span></p></td><td style="vertical-align:top;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8.5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:69.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;margin:0pt;"><span style="font-size:8.5pt;">Annual report filed with the SEC on Form 10-K pursuant to Section 13 or 15(d) of the Securities Exchange Act of 1934</span></p></td></tr><tr><td style="vertical-align:top;white-space:nowrap;width:27.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;margin:0pt;"><span style="font-size:8.5pt;">ASC</span></p></td><td style="vertical-align:top;white-space:nowrap;width:2.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8.5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:69.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;margin:0pt;"><span style="font-size:8.5pt;">Accounting Standards Codification</span></p></td></tr><tr><td style="vertical-align:top;white-space:nowrap;width:27.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;margin:0pt;"><span style="font-size:8.5pt;">ASU</span></p></td><td style="vertical-align:top;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8.5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:69.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;margin:0pt;"><span style="font-size:8.5pt;">Accounting Standards Update</span></p></td></tr><tr><td style="vertical-align:top;white-space:nowrap;width:27.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;margin:0pt;"><span style="font-size:8.5pt;">Board</span></p></td><td style="vertical-align:top;white-space:nowrap;width:2.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8.5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:69.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;margin:0pt;"><span style="font-size:8.5pt;">Board of Directors of TopBuild</span></p></td></tr><tr><td style="vertical-align:top;white-space:nowrap;width:27.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;margin:0pt;"><span style="font-size:8.5pt;">BofA</span></p></td><td style="vertical-align:top;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8.5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:69.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;margin:0pt;"><span style="font-size:8.5pt;">Bank of America, N.A.</span></p></td></tr><tr><td style="vertical-align:top;white-space:nowrap;width:27.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;margin:0pt;"><span style="font-size:8.5pt;">Billings</span></p></td><td style="vertical-align:top;white-space:nowrap;width:2.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8.5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:69.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;margin:0pt;"><span style="font-size:8.5pt;">Billings Insulation Service, Inc.</span></p></td></tr><tr><td style="vertical-align:top;white-space:nowrap;width:27.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;margin:0pt;"><span style="font-size:8.5pt;">Credit Agreement</span></p></td><td style="vertical-align:top;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8.5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:69.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;margin:0pt;"><span style="font-size:8.5pt;">Amended and Restated Credit Agreement, dated March 20, 2020, among TopBuild Corp., Bank of America, N.A. as administrative agent, and the other lenders and agents party thereto.</span></p></td></tr><tr><td style="vertical-align:top;white-space:nowrap;width:27.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;margin:0pt;"><span style="font-size:8.5pt;">Current Report</span></p></td><td style="vertical-align:top;white-space:nowrap;width:2.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8.5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:69.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;margin:0pt;">Current report filed with the SEC on Form 8-K pursuant to Section 13 or 15(d) of the Securities Exchange Act of 1934</p></td></tr><tr><td style="vertical-align:top;white-space:nowrap;width:27.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;margin:0pt;"><span style="font-size:8.5pt;">EBITDA</span></p></td><td style="vertical-align:top;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8.5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:69.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;margin:0pt;"><span style="font-size:8.5pt;">Earnings before interest, taxes, depreciation, and amortization</span></p></td></tr><tr><td style="vertical-align:top;white-space:nowrap;width:27.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;margin:0pt;"><span style="font-size:8.5pt;">Exchange Act</span></p></td><td style="vertical-align:top;white-space:nowrap;width:2.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8.5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:69.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;margin:0pt;"><span style="font-size:8.5pt;">The Securities Exchange Act of 1934, as amended</span></p></td></tr><tr><td style="vertical-align:top;white-space:nowrap;width:27.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;margin:0pt;"><span style="font-size:8.5pt;">FASB</span></p></td><td style="vertical-align:top;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8.5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:69.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;margin:0pt;"><span style="font-size:8.5pt;">Financial Accounting Standards Board</span></p></td></tr><tr><td style="vertical-align:top;white-space:nowrap;width:27.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;margin:0pt;"><span style="font-size:8.5pt;">GAAP</span></p></td><td style="vertical-align:top;white-space:nowrap;width:2.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8.5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:69.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;margin:0pt;"><span style="font-size:8.5pt;">Generally accepted accounting principles in the United States of America</span></p></td></tr><tr><td style="vertical-align:top;white-space:nowrap;width:27.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;margin:0pt;"><span style="font-size:8.5pt;">Lenders</span></p></td><td style="vertical-align:top;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8.5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:69.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;margin:0pt;"><span style="font-size:8.5pt;">Bank of America, N.A., together with the other lenders party to &quot;Credit Agreement&quot;</span></p></td></tr><tr><td style="vertical-align:top;white-space:nowrap;width:27.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;margin:0pt;"><span style="font-size:8.5pt;">Net Leverage Ratio</span></p></td><td style="vertical-align:top;white-space:nowrap;width:2.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8.5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:69.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;margin:0pt;"><span style="font-size:8.5pt;">As defined in the &#8220;Credit Agreement,&#8221; the ratio of outstanding indebtedness, less up to $100 million of unrestricted cash, to EBITDA </span></p></td></tr><tr><td style="vertical-align:top;white-space:nowrap;width:27.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;margin:0pt;"><span style="font-size:8.5pt;">NYSE</span></p></td><td style="vertical-align:top;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8.5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:69.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;margin:0pt;"><span style="font-size:8.5pt;">New York Stock Exchange</span></p></td></tr><tr><td style="vertical-align:top;white-space:nowrap;width:27.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;margin:0pt;"><span style="font-size:8.5pt;">Quarterly Report</span></p></td><td style="vertical-align:top;white-space:nowrap;width:2.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8.5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:69.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;margin:0pt;"><span style="font-size:8.5pt;">Quarterly report filed with the SEC on Form 10-Q pursuant to Section 13 or 15(d) of the Securities Exchange Act of 1934</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:27.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;margin:0pt;"><span style="font-size:8.5pt;">ROU</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8.5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:69.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;margin:0pt;"><span style="font-size:8.5pt;">Right of use (asset), as defined in ASC 842</span></p></td></tr><tr><td style="vertical-align:top;white-space:nowrap;width:27.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;margin:0pt;"><span style="font-size:8.5pt;white-space:pre-wrap;">RSA  </span></p></td><td style="vertical-align:top;white-space:nowrap;width:2.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8.5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:69.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;margin:0pt;"><span style="font-size:8.5pt;">Restricted stock award</span></p></td></tr><tr><td style="vertical-align:top;white-space:nowrap;width:27.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;margin:0pt;"><span style="font-size:8.5pt;">SEC</span></p></td><td style="vertical-align:top;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8.5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:69.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;margin:0pt;"><span style="font-size:8.5pt;">United States Securities and Exchange Commission</span></p></td></tr><tr><td style="vertical-align:top;white-space:nowrap;width:27.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;margin:0pt;"><span style="font-size:8.5pt;">Secured Leverage Ratio</span></p></td><td style="vertical-align:top;white-space:nowrap;width:2.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8.5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:69.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;margin:0pt;"><span style="font-size:8.5pt;">As defined in the &#8220;Credit Agreement,&#8221; the ratio of outstanding indebtedness, including letters of credit, to EBITDA </span></p></td></tr><tr><td style="vertical-align:top;white-space:nowrap;width:27.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;margin:0pt;"><span style="font-size:8.5pt;">SOFR</span></p></td><td style="vertical-align:top;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8.5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:69.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;margin:0pt;"><span style="font-size:8.5pt;">Secured overnight financing rate</span></p></td></tr><tr><td style="vertical-align:top;white-space:nowrap;width:27.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;margin:0pt;"><span style="font-size:8.5pt;">SRI</span></p></td><td style="vertical-align:top;white-space:nowrap;width:2.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8.5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:69.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;margin:0pt;"><span style="font-size:8.5pt;">SRI Holdings, LLC</span></p></td></tr><tr><td style="vertical-align:top;white-space:nowrap;width:27.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;margin:0pt;"><span style="font-size:8.5pt;">Term Loan</span></p></td><td style="vertical-align:top;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8.5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:69.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;margin:0pt;"><span style="font-size:8.5pt;">Amendment No. 2 to Credit Agreement provided for a term loan facility in an aggregate principal amount of $600.0 million with a maturity date of October 2026</span></p></td></tr><tr><td style="vertical-align:top;white-space:nowrap;width:27.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;margin:0pt;"><span style="font-size:8.5pt;">TopBuild</span></p></td><td style="vertical-align:top;white-space:nowrap;width:2.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8.5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:69.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;margin:0pt;"><span style="font-size:8.5pt;white-space:pre-wrap;">TopBuild Corp. and its wholly-owned consolidated domestic subsidiaries.  Also, the &quot;Company,&quot; &quot;we,&quot; &quot;us,&quot; and &quot;our&quot;</span></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.28;margin:0pt 0pt 8pt 0pt;"><span style="line-height:1.19;margin-bottom:0pt;visibility:hidden;">&#8203;</span></p><p style="display:none;font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:0pt;text-align:justify;margin:0pt -12pt 0pt 0pt;"><span style="font-size:0pt;line-height:1.19;margin-right:0pt;visibility:hidden;">&#8203;</span></p></div><div style="clear:both;display:table;margin-bottom:30pt;min-height:0.35pt;width:100%;"><div style="display:table-cell;vertical-align:bottom;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:24pt 0pt 0pt 0pt;">3</p></div></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:79.3%;border:0;margin:30pt 10.35% 30pt 10.35%;"></div><div style="max-width:100%;padding-left:10.35%;padding-right:10.35%;position:relative;"><div style="margin-top:21.6pt;min-height:41.75pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt 0pt 30pt 0pt;"><a href="#Toc"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><a id="_b9c32219_cfcd_42d9_aaf4_aac80ae40bd4"></a><a id="_PART_I_"></a><a id="PartI_Financial_Information"></a><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;line-height:1.19;margin:0pt;">PART I &#8211; FINANCIAL INFORMATION</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><a id="Item1FINANCIALSTATEMENTS_199169"></a><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;line-height:1.19;margin:0pt;"><b style="font-weight:bold;white-space:pre-wrap;">Item 1.  FINANCIAL STATEMENTS</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;line-height:1.19;text-align:center;margin:0pt;">TOPBUILD CORP.</p><a id="CONDENSEDCONSOLIDATEDBALANCESHEETS_67058"></a><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;line-height:1.19;text-align:center;margin:0pt;">CONDENSED CONSOLIDATED BALANCE SHEETS (Unaudited)</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">(In thousands except share data)</b></p><a id="_ce4a3896_c69e_463d_9bc9_52c7f39a7f4e"></a><a id="Tc_5ZIobjX7qkeaj0SMzOZVig_1_2"></a><a id="Tc_nSTg-FHUQkuRLeUcf4NoXg_2_2"></a><a id="Tc_bSKIH3hBJUKBRQT6BSysAw_2_5"></a><a id="Tc_tmWB2ycUiEGdxRGIc4wfIA_3_2"></a><a id="Tc_VgveJlO-SECxsVWtz7B9qQ_3_5"></a><a id="Tc_EAWTAYLWN0aqdQVoH5esGQ_4_0"></a><a id="Tc_roaeuciwA0G6cn18yDJviw_5_0"></a><a id="Tc_JO9aR2PP4kGi2lKMpBEQiQ_6_0"></a><a id="Tc_CiDYIh9KtEOCZZo9ZuKIAQ_6_2"></a><a id="Tc_jkjN8QsUg0mPewn6qLH5cA_6_5"></a><a id="Tc_J9e3V_Hhf0SBPymLd54boA_7_0"></a><a id="Tc_0emDXiU-g0CkIAOfxJYLAg_8_0"></a><a id="Tc_C7NfRwRRJkmgdqyo3viL-w_9_0"></a><a id="Tc_x5VBbbthAESLksNJxC_LZw_10_0"></a><a id="Tc_dLJKdalAY0CE4ozxloxsgQ_12_0"></a><a id="Tc_wO636OQeiEm5nJhkGYe19g_13_0"></a><a id="Tc_fQVkCMOVAkyS4uFNs8KGlg_14_0"></a><a id="Tc_fe5G2jPTFE2Yh0-ii3fu7w_15_0"></a><a id="Tc_3Kvru1-brESECCXcadBbFQ_16_0"></a><a id="Tc_KH5O_-1zPU-ixNATQp1fiA_17_0"></a><a id="Tc_eVZ1aaKejEm9xTp3x2NTJA_17_2"></a><a id="Tc_YbY7KXG0yEqTInpMkP-BLg_17_5"></a><a id="Tc_ZnoZFkYY3kOD1wMvGA4U6A_19_0"></a><a id="Tc_4lAsNFZxiE6QsiQ2rd1U0w_20_0"></a><a id="Tc_ktSX1eYGnU6YLhbRmwKNcA_21_0"></a><a id="Tc_WVrKLA7f-kufrtcNVN5ocQ_21_2"></a><a id="Tc_XEVQ-gJ7HEC8d3LmADD3JA_21_5"></a><a id="Tc_zcrWfLmlwU6d-etjMjbM0Q_22_0"></a><a id="Tc_vwaJi69d9kGSNvPZVwDhDg_23_0"></a><a id="Tc_CIf0SxgknkWOV_NZBAgjLg_24_0"></a><a id="Tc_180VfZZJkk2t5X5tvAuAtQ_25_0"></a><a id="Tc_UXxY8xGppUm4fsMZd_Q92Q_26_0"></a><a id="Tc__Ut2JV0CQUODtLBipthOUg_28_0"></a><a id="Tc_6Wsf3tlBw0yD1zjrLcwdAQ_29_0"></a><a id="Tc_YBCQhxIxNkKOhAiXtezpgA_30_0"></a><a id="Tc_MO2QtACpjEeLA8beKaB-Iw_31_0"></a><a id="Tc_cJY-d4ZY2kupSRZP64cPSA_32_0"></a><a id="Tc_LlcuKbOj3UGEHHoSaW0BnA_33_0"></a><a id="Tc_nADw5UIfikeuE6Y9f6UWxw_34_0"></a><a id="Tc_kpNHRZntGki3hMEX2_N4dA_36_0"></a><a id="Tc_XnJc2EPN3EK_6rAPtqEkKQ_38_0"></a><a id="Tc_3oXl_amWW0un0_Uq5270DQ_39_0"></a><a id="_e63ba1b2_cdb8_40a6_b214_e8b54d99e143"></a><a id="_e63ba1b2_cdb8_40a6_b214_e8b54d99e143_2"></a><a id="_e63ba1b2_cdb8_40a6_b214_e8b54d99e143_3"></a><a id="Tc_vBORApiPDUSzAS6HpzMfFg_40_0"></a><a id="Tc_P0zs2YmSokWzBhekbHKTag_41_0"></a><a id="Tc_xP_Jm41Lx0mwzOUULQSFAQ_42_0"></a><a id="Tc_TddsQpcpvkKHmVa34ndvXw_43_0"></a><a id="Tc_i4SeJ5j2YE25ouVCpcsuUA_44_0"></a><a id="Tc_1il5CAcsJUOUHAdybTyWjA_45_0"></a><a id="Tc_vHQsaVbeJUW1qHI9hhE9TA_46_0"></a><a id="Tc_Ty-o8_HRyUm9xQmLbE0TAQ_46_2"></a><a id="Tc_Ztl2mji2Kkmtd6hCrgUzRQ_46_5"></a><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:63.98%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.91%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.93%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:63.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:33.97%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">As of</b></p></td></tr><tr><td style="vertical-align:bottom;width:63.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">March&#160;31,&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">December&#160;31,&#160;</b></p></td></tr><tr><td style="vertical-align:bottom;width:63.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.95%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.97%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:63.98%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"><b style="font-weight:bold;">ASSETS</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:63.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:justify;margin:0pt;">Current assets:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:63.98%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;">Cash and cash equivalents</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="As_Of_3_31_2023_if5iG1tra0aH_pegPPBopw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CashAndCashEquivalentsAtCarryingValue" scale="3" id="Tc_EGN1sXeC-UGDZei_ZL5hfw_6_3">333,778</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="As_Of_12_31_2022_3M6K0OeVvUOHwft-0BiHjg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CashAndCashEquivalentsAtCarryingValue" scale="3" id="Tc_utAzJEkst0e_o7lBUxYiWA_6_6">240,069</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:63.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;">Receivables, net of an allowance for credit losses of $<ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="As_Of_3_31_2023_if5iG1tra0aH_pegPPBopw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent" scale="3" id="Narr_cLBD0ADGWkKZ1teggat6aw">16,007</ix:nonFraction> at March 31, 2023, and $<ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="As_Of_12_31_2022_3M6K0OeVvUOHwft-0BiHjg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent" scale="3" id="Narr_P2Bx2Ey4gE2eK7xbXxhFeQ">16,281</ix:nonFraction> at December 31, 2022</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="As_Of_3_31_2023_if5iG1tra0aH_pegPPBopw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AccountsReceivableNetCurrent" scale="3" id="Tc_usNK17eWe0-Ro0VntZrh_g_7_3">833,959</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="As_Of_12_31_2022_3M6K0OeVvUOHwft-0BiHjg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AccountsReceivableNetCurrent" scale="3" id="Tc_Tho-dzWsgkymt-7VXM2HmA_7_6">836,071</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:63.98%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;">Inventories, net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="As_Of_3_31_2023_if5iG1tra0aH_pegPPBopw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:InventoryNet" scale="3" id="Tc_3wmjsLsWTkGXShcA7kgypg_8_3">422,229</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="As_Of_12_31_2022_3M6K0OeVvUOHwft-0BiHjg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:InventoryNet" scale="3" id="Tc__t0ylYmydkGI0zdURMgh1Q_8_6">438,644</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:63.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;">Prepaid expenses and other current assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.91%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="As_Of_3_31_2023_if5iG1tra0aH_pegPPBopw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:PrepaidExpenseAndOtherAssetsCurrent" scale="3" id="Tc_oWa8xsRSZ0qDM9sH-e1uuQ_9_3">22,861</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.93%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="As_Of_12_31_2022_3M6K0OeVvUOHwft-0BiHjg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:PrepaidExpenseAndOtherAssetsCurrent" scale="3" id="Tc_ydtDdfh6pUKLOeSRbLNFqA_9_6">34,257</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:63.98%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt 0pt 0pt 24pt;">Total current assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="As_Of_3_31_2023_if5iG1tra0aH_pegPPBopw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AssetsCurrent" scale="3" id="Tc_rb0zJWesjkyaEbZllGygXw_10_3">1,612,827</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="As_Of_12_31_2022_3M6K0OeVvUOHwft-0BiHjg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AssetsCurrent" scale="3" id="Tc_uFBUkCYnvU-xSd7VOpY-YA_10_6">1,549,041</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:63.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:63.98%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:justify;margin:0pt;">Right of use assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="As_Of_3_31_2023_if5iG1tra0aH_pegPPBopw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingLeaseRightOfUseAsset" scale="3" id="Tc_eJ0ijYTTBkWiDsKXMU_C4A_12_3">211,381</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="As_Of_12_31_2022_3M6K0OeVvUOHwft-0BiHjg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingLeaseRightOfUseAsset" scale="3" id="Tc_oQkiIvk2PkG0HcOjsFSgUg_12_6">205,892</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:63.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:justify;margin:0pt;">Property and equipment, net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="As_Of_3_31_2023_if5iG1tra0aH_pegPPBopw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization" scale="3" id="Tc_Q9K7bDbByk-_oCNt9aHO7g_13_3">260,146</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="As_Of_12_31_2022_3M6K0OeVvUOHwft-0BiHjg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization" scale="3" id="Tc_DmaDlshoPESNVATKZrl6_Q_13_6">253,484</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:63.98%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:justify;margin:0pt;">Goodwill</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="As_Of_3_31_2023_if5iG1tra0aH_pegPPBopw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:Goodwill" scale="3" id="Tc_kchDnJTzWUOgyRrqs6HMuw_14_3">1,992,394</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="As_Of_12_31_2022_3M6K0OeVvUOHwft-0BiHjg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:Goodwill" scale="3" id="Tc_iOPvyOQnOUa6X4KWNVzxkw_14_6">1,966,994</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:63.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:justify;margin:0pt;">Other intangible assets, net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="As_Of_3_31_2023_if5iG1tra0aH_pegPPBopw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FiniteLivedIntangibleAssetsNet" scale="3" id="Tc_JJ_wLTuT70GAF8x98TCeDw_15_3">607,683</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="As_Of_12_31_2022_3M6K0OeVvUOHwft-0BiHjg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FiniteLivedIntangibleAssetsNet" scale="3" id="Tc_4I-86gZGzEeUWw5QFvrlfg_15_6">614,967</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:63.98%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:justify;margin:0pt;">Other assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.91%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="As_Of_3_31_2023_if5iG1tra0aH_pegPPBopw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherAssetsNoncurrent" scale="3" id="Tc_DM18VVOBh0GHV7wmMGWsEw_16_3">16,483</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.93%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="As_Of_12_31_2022_3M6K0OeVvUOHwft-0BiHjg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherAssetsNoncurrent" scale="3" id="Tc_HsCUdRi2Xkaiou50yCKjMg_16_6">16,453</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:63.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">Total assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.91%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="As_Of_3_31_2023_if5iG1tra0aH_pegPPBopw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:Assets" scale="3" id="Tc_xVeykgR2PUGPEdSse-zXQw_17_3">4,700,914</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.93%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="As_Of_12_31_2022_3M6K0OeVvUOHwft-0BiHjg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:Assets" scale="3" id="Tc_X_asqVrqTku_YKhmkBINrg_17_6">4,606,831</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:63.98%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt 0pt 0pt 24pt;"><span style="font-size:9pt;margin-left:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;border-top:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.91%;background:#cceeff;border-top:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;border-top:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.93%;background:#cceeff;border-top:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:63.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"><b style="font-weight:bold;">LIABILITIES AND EQUITY</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:63.98%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:justify;margin:0pt;"><b style="font-weight:bold;">Current liabilities:</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:63.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">Accounts payable</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="As_Of_3_31_2023_if5iG1tra0aH_pegPPBopw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AccountsPayableCurrent" scale="3" id="Tc_6dJibucxs06BYO0SZknCKg_21_3">450,963</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="As_Of_12_31_2022_3M6K0OeVvUOHwft-0BiHjg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AccountsPayableCurrent" scale="3" id="Tc_7_F-uu9PR0KqSFPKp29NoA_21_6">487,114</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:63.98%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;">Current portion of long-term debt</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="As_Of_3_31_2023_if5iG1tra0aH_pegPPBopw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LongTermDebtCurrent" scale="3" id="Tc_bRVIiZ7lhEK4iQMyW6aiLw_22_3">42,371</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="As_Of_12_31_2022_3M6K0OeVvUOHwft-0BiHjg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LongTermDebtCurrent" scale="3" id="Tc_R9Gpfl1vwUe83nW4jyjr-A_22_6">40,068</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:63.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;">Accrued liabilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="As_Of_3_31_2023_if5iG1tra0aH_pegPPBopw" decimals="-3" format="ixt:numdotdecimal" name="bld:AccruedLiabilitiesAndEmployeeRelatedLiabilitiesCurrent" scale="3" id="Tc_uEFPSJXSC0CfN4yPUW1KYg_23_3">193,347</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="As_Of_12_31_2022_3M6K0OeVvUOHwft-0BiHjg" decimals="-3" format="ixt:numdotdecimal" name="bld:AccruedLiabilitiesAndEmployeeRelatedLiabilitiesCurrent" scale="3" id="Tc_X54tBs_VVkWVomu3vWyvFA_23_6">199,370</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:63.98%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;">Short-term operating lease liabilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="As_Of_3_31_2023_if5iG1tra0aH_pegPPBopw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingLeaseLiabilityCurrent" scale="3" id="Tc_suZHCPSzo0OVzgOTy1VXIA_24_3">62,110</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="As_Of_12_31_2022_3M6K0OeVvUOHwft-0BiHjg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingLeaseLiabilityCurrent" scale="3" id="Tc_LRlEAROVjUyBhyIj7UUtkw_24_6">60,880</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:63.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;">Short-term finance lease liabilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.91%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="As_Of_3_31_2023_if5iG1tra0aH_pegPPBopw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FinanceLeaseLiabilityCurrent" scale="3" id="Tc_bG0in4YEfEi8qIxdv2wv2A_25_3">2,452</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.93%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="As_Of_12_31_2022_3M6K0OeVvUOHwft-0BiHjg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FinanceLeaseLiabilityCurrent" scale="3" id="Tc_-V8LbdpnKU2-4We-bNqAJQ_25_6">2,207</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:63.98%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;">Total current liabilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="As_Of_3_31_2023_if5iG1tra0aH_pegPPBopw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LiabilitiesCurrent" scale="3" id="Tc_9NPI1L8vUkettcdCSlPxrQ_26_3">751,243</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="As_Of_12_31_2022_3M6K0OeVvUOHwft-0BiHjg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LiabilitiesCurrent" scale="3" id="Tc_FH_3NyG0x0SvHhwm9tHXdw_26_6">789,639</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:63.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:63.98%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:justify;margin:0pt;">Long-term debt</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="As_Of_3_31_2023_if5iG1tra0aH_pegPPBopw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LongTermDebtNoncurrent" scale="3" id="Tc_OdKpFuJptU2YvZfnYM1K3g_28_3">1,405,931</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="As_Of_12_31_2022_3M6K0OeVvUOHwft-0BiHjg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LongTermDebtNoncurrent" scale="3" id="Tc_ndHRDaEd9EKk8zZJCkViNg_28_6">1,417,257</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:63.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:justify;margin:0pt;">Deferred tax liabilities, net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="As_Of_3_31_2023_if5iG1tra0aH_pegPPBopw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredIncomeTaxLiabilitiesNet" scale="3" id="Tc__vE0b38F7UCR8BUwiZB0kQ_29_3">252,044</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="As_Of_12_31_2022_3M6K0OeVvUOHwft-0BiHjg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredIncomeTaxLiabilitiesNet" scale="3" id="Tc_JaG7ob4AVU6PCLChjWJNwQ_29_6">251,481</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:63.98%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">Long-term portion of insurance reserves</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="As_Of_3_31_2023_if5iG1tra0aH_pegPPBopw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AccruedInsuranceNoncurrent" scale="3" id="Tc_8_fbZR0ZFkG0AZcy-7EakQ_30_3">61,466</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="As_Of_12_31_2022_3M6K0OeVvUOHwft-0BiHjg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AccruedInsuranceNoncurrent" scale="3" id="Tc_Jyu3JE17bE6YYNlv0TIiAA_30_6">59,783</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:63.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">Long-term operating lease liabilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="As_Of_3_31_2023_if5iG1tra0aH_pegPPBopw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingLeaseLiabilityNoncurrent" scale="3" id="Tc_AXXgFL9iVUSmVZv8stJFCg_31_3">154,844</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="As_Of_12_31_2022_3M6K0OeVvUOHwft-0BiHjg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingLeaseLiabilityNoncurrent" scale="3" id="Tc_8NKQq28A-02G0K7mFVjY5A_31_6">149,943</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:63.98%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">Long-term finance lease liabilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="As_Of_3_31_2023_if5iG1tra0aH_pegPPBopw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FinanceLeaseLiabilityNoncurrent" scale="3" id="Tc_m0XhYBOjfkCRNg7xsGdZOw_32_3">4,983</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="As_Of_12_31_2022_3M6K0OeVvUOHwft-0BiHjg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FinanceLeaseLiabilityNoncurrent" scale="3" id="Tc_tOO_1-ALPUyk6EqB8iKQxQ_32_6">6,673</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:63.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">Other liabilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.91%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="As_Of_3_31_2023_if5iG1tra0aH_pegPPBopw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherLiabilitiesNoncurrent" scale="3" id="Tc_UIm3lQgyaUCCkC1xA8c2Cg_33_3">5,259</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.93%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="As_Of_12_31_2022_3M6K0OeVvUOHwft-0BiHjg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherLiabilitiesNoncurrent" scale="3" id="Tc_tqYwkFHnDE6a-sUiD0bwCA_33_6">2,349</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:63.98%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">Total liabilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.91%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="As_Of_3_31_2023_if5iG1tra0aH_pegPPBopw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:Liabilities" scale="3" id="Tc_4PT_AXVuMEyiyJH3pPol-w_34_3">2,635,770</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.93%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="As_Of_12_31_2022_3M6K0OeVvUOHwft-0BiHjg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:Liabilities" scale="3" id="Tc_RvfCJ75Yzk-Hudn4HFPxIQ_34_6">2,677,125</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:63.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt 0pt 0pt 24pt;"><span style="font-size:9pt;margin-left:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:63.98%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">Commitments and contingencies</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:63.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:63.98%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;">Equity:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:63.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;">Preferred stock, $<ix:nonFraction unitRef="Unit_Divide_USD_shares_imdDf3-8d0qa5ZDAI6M6QA" contextRef="As_Of_3_31_2023_if5iG1tra0aH_pegPPBopw" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:PreferredStockParOrStatedValuePerShare" scale="0" id="Narr_4G76LnkANEy4Ml4A-QvRAA"><ix:nonFraction unitRef="Unit_Divide_USD_shares_imdDf3-8d0qa5ZDAI6M6QA" contextRef="As_Of_12_31_2022_3M6K0OeVvUOHwft-0BiHjg" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:PreferredStockParOrStatedValuePerShare" scale="0" id="Narr_aVBln9dBPU-o4yyui2wUjw">0.01</ix:nonFraction></ix:nonFraction> par value: <ix:nonFraction unitRef="Unit_Standard_shares_eiECwuXP0kO6JM1Li4xT6g" contextRef="As_Of_3_31_2023_if5iG1tra0aH_pegPPBopw" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:PreferredStockSharesAuthorized" scale="0" id="Narr_uF9qiXvcx0apR3wgC1UglA"><ix:nonFraction unitRef="Unit_Standard_shares_eiECwuXP0kO6JM1Li4xT6g" contextRef="As_Of_12_31_2022_3M6K0OeVvUOHwft-0BiHjg" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:PreferredStockSharesAuthorized" scale="0" id="Narr_6Ht65oHYGEGtCtT9U5hdlg">10,000,000</ix:nonFraction></ix:nonFraction> shares authorized; <ix:nonFraction unitRef="Unit_Standard_shares_eiECwuXP0kO6JM1Li4xT6g" contextRef="As_Of_3_31_2023_if5iG1tra0aH_pegPPBopw" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:PreferredStockSharesIssued" scale="0" id="Narr_2GApoPKWqUeGatas1pM4iA"><ix:nonFraction unitRef="Unit_Standard_shares_eiECwuXP0kO6JM1Li4xT6g" contextRef="As_Of_12_31_2022_3M6K0OeVvUOHwft-0BiHjg" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:PreferredStockSharesIssued" scale="0" id="Narr_-DSAPo4nGUGWLcaYDRV0qA">0</ix:nonFraction></ix:nonFraction> shares issued and outstanding</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="-sec-ix-hidden:Hidden_9TbH8kT2gUGuvZK8ypPxVg;"><span style="font-family:'Times New Roman','Times','serif';font-size:9pt;font-style:normal;font-weight:normal;"> -</span></span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="-sec-ix-hidden:Hidden_0Vczj41DDEyEU5LzRnVNWA;"><span style="font-family:'Times New Roman','Times','serif';font-size:9pt;font-style:normal;font-weight:normal;"> -</span></span></p></td></tr><tr><td style="vertical-align:bottom;width:63.98%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;">Common stock, $<ix:nonFraction unitRef="Unit_Divide_USD_shares_imdDf3-8d0qa5ZDAI6M6QA" contextRef="As_Of_3_31_2023_if5iG1tra0aH_pegPPBopw" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:CommonStockParOrStatedValuePerShare" scale="0" id="Narr_jtaihnPzF0m1wSjKMyisfw"><ix:nonFraction unitRef="Unit_Divide_USD_shares_imdDf3-8d0qa5ZDAI6M6QA" contextRef="As_Of_12_31_2022_3M6K0OeVvUOHwft-0BiHjg" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:CommonStockParOrStatedValuePerShare" scale="0" id="Narr_ssxueT4Ys0mVJld6wBSjSQ">0.01</ix:nonFraction></ix:nonFraction> par value: <ix:nonFraction unitRef="Unit_Standard_shares_eiECwuXP0kO6JM1Li4xT6g" contextRef="As_Of_3_31_2023_if5iG1tra0aH_pegPPBopw" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:CommonStockSharesAuthorized" scale="0" id="Narr_u7V74klSHEeeflZEpUGx5A"><ix:nonFraction unitRef="Unit_Standard_shares_eiECwuXP0kO6JM1Li4xT6g" contextRef="As_Of_12_31_2022_3M6K0OeVvUOHwft-0BiHjg" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:CommonStockSharesAuthorized" scale="0" id="Narr_56D6PbDza0-df0ymr2AtIw">250,000,000</ix:nonFraction></ix:nonFraction> shares authorized; <ix:nonFraction unitRef="Unit_Standard_shares_eiECwuXP0kO6JM1Li4xT6g" contextRef="As_Of_3_31_2023_if5iG1tra0aH_pegPPBopw" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:CommonStockSharesIssued" scale="0" id="Narr_0VViZJ6N60qDGmB4L4CWAw">39,465,688</ix:nonFraction> shares issued and <ix:nonFraction unitRef="Unit_Standard_shares_eiECwuXP0kO6JM1Li4xT6g" contextRef="As_Of_3_31_2023_if5iG1tra0aH_pegPPBopw" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:CommonStockSharesOutstanding" scale="0" id="Narr_f2DRLI9dd0mP9d7AIAwjEg">31,750,010</ix:nonFraction> outstanding at March 31, 2023, and <ix:nonFraction unitRef="Unit_Standard_shares_eiECwuXP0kO6JM1Li4xT6g" contextRef="As_Of_12_31_2022_3M6K0OeVvUOHwft-0BiHjg" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:CommonStockSharesIssued" scale="0" id="Narr_n-dpjPrp306Hau3fAneZKQ">39,325,916</ix:nonFraction> shares issued and <ix:nonFraction unitRef="Unit_Standard_shares_eiECwuXP0kO6JM1Li4xT6g" contextRef="As_Of_12_31_2022_3M6K0OeVvUOHwft-0BiHjg" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:CommonStockSharesOutstanding" scale="0" id="Narr_lMghVHCGfUuUMs68okE8xw">31,642,832</ix:nonFraction> outstanding at December 31, 2022</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="As_Of_3_31_2023_if5iG1tra0aH_pegPPBopw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CommonStockValue" scale="3" id="Tc_esjVM5giBkqcyaXl0gvCBg_40_3">395</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="As_Of_12_31_2022_3M6K0OeVvUOHwft-0BiHjg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CommonStockValue" scale="3" id="Tc_6SLOhJ0PMkSxY-_rgQFzug_40_6">393</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:63.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;">Treasury stock, <ix:nonFraction unitRef="Unit_Standard_shares_eiECwuXP0kO6JM1Li4xT6g" contextRef="As_Of_3_31_2023_if5iG1tra0aH_pegPPBopw" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:TreasuryStockCommonShares" scale="0" id="Narr_TN_zp83nkkGk1eCd9GT_zw">7,715,678</ix:nonFraction> shares at March 31, 2023, and <ix:nonFraction unitRef="Unit_Standard_shares_eiECwuXP0kO6JM1Li4xT6g" contextRef="As_Of_12_31_2022_3M6K0OeVvUOHwft-0BiHjg" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:TreasuryStockCommonShares" scale="0" id="Narr_3hViAHtacUC6n4cjg3ab5w">7,683,084</ix:nonFraction> shares at December 31, 2022, at cost</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="As_Of_3_31_2023_if5iG1tra0aH_pegPPBopw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:TreasuryStockCommonValue" scale="3" id="Tc_yP63iPwCFUWYYJx450BC3Q_41_3">699,149</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="As_Of_12_31_2022_3M6K0OeVvUOHwft-0BiHjg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:TreasuryStockCommonValue" scale="3" id="Tc_cUc4S2yujUKTQ5sybxUnaw_41_6">692,799</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:63.98%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;">Additional paid-in capital</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="As_Of_3_31_2023_if5iG1tra0aH_pegPPBopw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AdditionalPaidInCapitalCommonStock" scale="3" id="Tc_p0c3wd0eQ0GSVUteXOUoOA_42_3">891,530</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="As_Of_12_31_2022_3M6K0OeVvUOHwft-0BiHjg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AdditionalPaidInCapitalCommonStock" scale="3" id="Tc_qIsRfZ8pJk-P7FR1zI4Ifw_42_6">887,367</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:63.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;">Retained earnings</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="As_Of_3_31_2023_if5iG1tra0aH_pegPPBopw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RetainedEarningsAccumulatedDeficit" scale="3" id="Tc_RWOn6GHGE0OiUw3K_PbMxA_43_3">1,892,535</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="As_Of_12_31_2022_3M6K0OeVvUOHwft-0BiHjg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RetainedEarningsAccumulatedDeficit" scale="3" id="Tc_BWIGHxytlE2VVSkX7JD2qA_43_6">1,756,665</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:63.98%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;">Accumulated other comprehensive loss</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.91%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="As_Of_3_31_2023_if5iG1tra0aH_pegPPBopw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax" sign="-" scale="3" id="Tc_BiG2nQwxwUmRjoi8gTiStg_44_3">20,167</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.93%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="As_Of_12_31_2022_3M6K0OeVvUOHwft-0BiHjg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax" sign="-" scale="3" id="Tc_NnCj1fTsVUuV9Shf8yLFNA_44_6">21,920</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:63.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;">Total equity</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.91%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="As_Of_3_31_2023_if5iG1tra0aH_pegPPBopw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquity" scale="3" id="Tc_Io1o0f64cUK69TWTWaRLlQ_45_3">2,065,144</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.93%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="As_Of_12_31_2022_3M6K0OeVvUOHwft-0BiHjg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquity" scale="3" id="Tc_bOH4n-YtkUycbEtxT4wKaw_45_6">1,929,706</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:63.98%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt 0pt 0pt 24pt;">Total liabilities and equity</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.91%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="As_Of_3_31_2023_if5iG1tra0aH_pegPPBopw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LiabilitiesAndStockholdersEquity" scale="3" id="Tc_UOk2VciHP0K83xnfwVq9iA_46_3">4,700,914</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.93%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="As_Of_12_31_2022_3M6K0OeVvUOHwft-0BiHjg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LiabilitiesAndStockholdersEquity" scale="3" id="Tc_73u5ijCARkuwZagBsA1fkg_46_6">4,606,831</ix:nonFraction></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:12pt 0pt 0pt 0pt;">See notes to our unaudited condensed consolidated financial statements.</p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:12pt 0pt 0pt 0pt;">4</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:79.3%;border:0;margin:30pt 10.35% 30pt 10.35%;"></div><div style="max-width:100%;padding-left:10.35%;padding-right:10.35%;position:relative;"><div style="margin-top:21.6pt;min-height:41.75pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt 0pt 30pt 0pt;"><a href="#Toc"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><a id="_e8e34c26_6971_4237_a3ea_5235781a8a33"></a><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;line-height:1.19;text-align:center;margin:0pt;">TOPBUILD CORP.</p><a id="STATEMENTSOFOPERATIONS_580054"></a><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;line-height:1.19;text-align:center;margin:0pt;">CONDENSED CONSOLIDATED STATEMENTS OF OPERATIONS (Unaudited)</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;white-space:pre-wrap;"> (In thousands except share and per common share data)</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p><a id="_6cc3dc78_c90d_446a_911c_92ea93f13678"></a><a id="Tc_b8O2FNUkrUuuSNGHzm9vNw_1_2"></a><a id="Tc_X_ZWu0gU_EaGBu9KgM2Nvw_2_2"></a><a id="Tc_QCrHp5rauE-os6DCXnRMRA_2_5"></a><a id="Tc_-omuejwikkeVBaY9U5AUvw_3_0"></a><a id="Tc_FTYfUGXYZkKfkO-Dq2FxIw_3_2"></a><a id="Tc_JOz019a5CkKGB14y0Eo3rg_3_5"></a><a id="Tc_x7iKdnaDqkW6uy305x76Ng_4_0"></a><a id="Tc_zBzt27SPMUidr-ZbEicZ4A_5_0"></a><a id="Tc_bBXn-j7xKE-4JdFn0ura7g_7_0"></a><a id="Tc_U1hdOsNefkik8n3qdD7TLw_8_0"></a><a id="Tc_IMZKe2y5FkW8sXgpAheFSw_10_0"></a><a id="Tc_pM8eWGg6o0eHtIWTHiSU-A_11_0"></a><a id="Tc_n0vO_pQkQkmtSNaXAPfh4A_12_0"></a><a id="Tc_EBBM39qSPk6Kwg8WZtrFUA_13_0"></a><a id="Tc_knu0cmpaFESVvkyWarIvYQ_14_0"></a><a id="Tc_vK4QE6grWEqjNGUZc0qMjA_16_0"></a><a id="Tc_HE59X9KgO0WRJl_DV7pDmQ_17_0"></a><a id="Tc_kGgk7dAM30WnP3psx4FwBA_17_2"></a><a id="Tc_2sr7N3_z_0q6mM-dgOpFGA_17_5"></a><a id="Tc_DWrt9mM_m0SSEqHCJRX3sg_19_0"></a><a id="Tc_UhJnNGZztE-CBKoUaHKr-Q_20_0"></a><a id="Tc_XwfMRKMZakuWBNTVl1P1tg_20_2"></a><a id="Tc_YVR7rKWuykS1po8rl11fHg_20_5"></a><a id="Tc_h6kZdX-6VEOFBc9thoFNgg_21_0"></a><a id="Tc_Th5jk-KQUUOn7L7cuOgcOA_21_2"></a><a id="Tc_fru0kF-rmEKvE3KnuQN72Q_21_5"></a><a id="Tc_lkIk_i3H7UCkc6llzo9ZzQ_23_0"></a><a id="Tc_t9re4YkvzECKUer7oh9dAw_24_0"></a><a id="Tc_GpFr1L4590mwPkTjKsFjag_25_0"></a><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:62.65%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.83%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.84%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:14.98%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.84%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:14.98%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:62.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="vertical-align:bottom;width:35.51%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Three Months Ended March&#160;31,&#160;</b></p></td></tr><tr><td style="vertical-align:bottom;width:62.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:16.82%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:16.82%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:62.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">Net sales</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.83%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.84%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.98%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="Tc_HuLtQdCDdkOpy9r-7fbRPw_3_3">1,265,238</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.84%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.98%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="Duration_1_1_2022_To_3_31_2022_6vn3vE91T0CiaH7EkBeDAw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="Tc_1DHguN7Qe0i9C3z-dZDN_g_3_6">1,168,918</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:62.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">Cost of sales</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.84%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.98%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CostOfGoodsAndServicesSold" scale="3" id="Tc_cE7xfT3znkm4p2qXU-azxw_4_3">895,023</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.84%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.98%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="Duration_1_1_2022_To_3_31_2022_6vn3vE91T0CiaH7EkBeDAw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CostOfGoodsAndServicesSold" scale="3" id="Tc_2lGbnjRSp0C1hUMJE3y6dg_4_6">837,717</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:62.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt 0pt 0pt 6pt;">Gross profit</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.83%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.84%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.98%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:GrossProfit" scale="3" id="Tc_V44wjqa26UWFgPcnGOrgGg_5_3">370,215</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.84%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.98%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="Duration_1_1_2022_To_3_31_2022_6vn3vE91T0CiaH7EkBeDAw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:GrossProfit" scale="3" id="Tc_yrCU2H5VEU2XadHaCmk_Gw_5_6">331,201</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:62.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt 0pt 0pt 6pt;"><span style="font-size:9pt;font-weight:bold;margin-left:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:62.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">Selling, general, and administrative expense </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.83%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.84%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.98%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:SellingGeneralAndAdministrativeExpense" scale="3" id="Tc_CpbMRAv-xUCKLfzg1EPkvg_7_3">170,784</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.84%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.98%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="Duration_1_1_2022_To_3_31_2022_6vn3vE91T0CiaH7EkBeDAw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:SellingGeneralAndAdministrativeExpense" scale="3" id="Tc_vJZD_03w9kOa7-TfhI1rzg_7_6">167,247</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:62.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt 0pt 0pt 6pt;">Operating profit </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingIncomeLoss" scale="3" id="Tc_xZpUoL-nYUGA7ob20dKmUg_8_3">199,431</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="Duration_1_1_2022_To_3_31_2022_6vn3vE91T0CiaH7EkBeDAw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingIncomeLoss" scale="3" id="Tc_bpc7fLLCh02qNEm-TZGT8A_8_6">163,954</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:62.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt 0pt 0pt 6pt;"><span style="font-size:9pt;font-weight:bold;margin-left:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.83%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.84%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.98%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.84%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.98%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:62.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">Other income (expense), net:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:62.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt 0pt 0pt 6pt;">Interest expense</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.83%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.84%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.98%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:InterestExpense" scale="3" id="Tc_W_gI0XwZr0OsMA0QWC2Mfg_11_3">18,039</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.84%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.98%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="Duration_1_1_2022_To_3_31_2022_6vn3vE91T0CiaH7EkBeDAw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:InterestExpense" scale="3" id="Tc_jpwXZu0rqE269My03eOFxg_11_6">11,966</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:62.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt 0pt 0pt 6pt;">Other, net </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.84%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.98%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherNonoperatingIncomeExpense" scale="3" id="Tc_m89jU1lL9UOJSU2cXZceig_12_3">1,923</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.84%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.98%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="Duration_1_1_2022_To_3_31_2022_6vn3vE91T0CiaH7EkBeDAw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherNonoperatingIncomeExpense" scale="3" id="Tc_yT45RqweQEyY_Lz9b4rfPA_12_6">684</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:62.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">Other expense, net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.83%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.84%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.98%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NonoperatingIncomeExpense" sign="-" scale="3" id="Tc__VD2BT_gmUmp-0zn0iPI5Q_13_3">16,116</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.84%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.98%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="Duration_1_1_2022_To_3_31_2022_6vn3vE91T0CiaH7EkBeDAw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NonoperatingIncomeExpense" sign="-" scale="3" id="Tc_rfLHbbCAbUKn__rmBaQ7fQ_13_6">11,282</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:62.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt 0pt 0pt 6pt;">Income before income taxes</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.84%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.98%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" scale="3" id="Tc_az5Y8-aMzEyu_2fGDB_O4w_14_3">183,315</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.84%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.98%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="Duration_1_1_2022_To_3_31_2022_6vn3vE91T0CiaH7EkBeDAw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" scale="3" id="Tc_3HpnG__JvkO908Swp0d4Eg_14_6">152,672</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:62.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt 0pt 0pt 6pt;"><span style="font-size:9pt;margin-left:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.83%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.84%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.98%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.84%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.98%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:62.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">Income tax expense</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.84%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.98%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeTaxExpenseBenefit" scale="3" id="Tc_kcLIzmN78E2L89KgDoB7lA_16_3">47,445</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.84%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.98%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="Duration_1_1_2022_To_3_31_2022_6vn3vE91T0CiaH7EkBeDAw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeTaxExpenseBenefit" scale="3" id="Tc_LfnnaSUIj0GdPVpiYURzwg_16_6">37,961</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:62.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt 0pt 0pt 6pt;">Net income</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.83%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.84%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.98%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NetIncomeLoss" scale="3" id="Tc_RgDd2qAxb0CCalwYTVtxBQ_17_3">135,870</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.84%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.98%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="Duration_1_1_2022_To_3_31_2022_6vn3vE91T0CiaH7EkBeDAw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NetIncomeLoss" scale="3" id="Tc_33m__0jL5kGCcOUDIj9Prg_17_6">114,711</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:62.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt 0pt 0pt 6pt;"><span style="font-size:9pt;margin-left:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:62.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"><b style="font-weight:bold;">Net income per common share:</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.83%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.84%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.98%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.84%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.98%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:62.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt 0pt 0pt 6pt;">Basic</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Divide_USD_shares_imdDf3-8d0qa5ZDAI6M6QA" contextRef="Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA" decimals="2" format="ixt:numdotdecimal" name="us-gaap:EarningsPerShareBasic" scale="0" id="Tc_mnji8h9tfkKLx-2TKMHv6A_20_3">4.31</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Divide_USD_shares_imdDf3-8d0qa5ZDAI6M6QA" contextRef="Duration_1_1_2022_To_3_31_2022_6vn3vE91T0CiaH7EkBeDAw" decimals="2" format="ixt:numdotdecimal" name="us-gaap:EarningsPerShareBasic" scale="0" id="Tc_OIEVqAsu3EytQxFuH5ryEg_20_6">3.50</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:62.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt 0pt 0pt 6pt;">Diluted</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.83%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.84%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.98%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Divide_USD_shares_imdDf3-8d0qa5ZDAI6M6QA" contextRef="Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA" decimals="2" format="ixt:numdotdecimal" name="us-gaap:EarningsPerShareDiluted" scale="0" id="Tc_H9ASPlynn0-rnQX1Gf9c-w_21_3">4.28</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.84%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.98%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Divide_USD_shares_imdDf3-8d0qa5ZDAI6M6QA" contextRef="Duration_1_1_2022_To_3_31_2022_6vn3vE91T0CiaH7EkBeDAw" decimals="2" format="ixt:numdotdecimal" name="us-gaap:EarningsPerShareDiluted" scale="0" id="Tc_V9tj-F74d0ehGqvVYwBS0w_21_6">3.47</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:62.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;"><span style="font-size:9pt;margin-left:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:62.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"><b style="font-weight:bold;">Weighted average shares outstanding:</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.83%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.84%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.98%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.84%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.98%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:62.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt 0pt 0pt 6pt;">Basic</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_shares_eiECwuXP0kO6JM1Li4xT6g" contextRef="Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA" decimals="0" format="ixt:numdotdecimal" name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" scale="0" id="Tc_uRHyIDiCOkyxAop3J1DB1w_24_3">31,550,658</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_shares_eiECwuXP0kO6JM1Li4xT6g" contextRef="Duration_1_1_2022_To_3_31_2022_6vn3vE91T0CiaH7EkBeDAw" decimals="0" format="ixt:numdotdecimal" name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" scale="0" id="Tc_ax2D80S9eEuj6XyMyFiFzQ_24_6">32,738,525</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:62.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt 0pt 0pt 6pt;">Diluted</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.83%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.84%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.98%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_shares_eiECwuXP0kO6JM1Li4xT6g" contextRef="Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA" decimals="0" format="ixt:numdotdecimal" name="us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding" scale="0" id="Tc_td1dXQLOBE-l5h5VCRY6zw_25_3">31,713,239</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.84%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.98%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_shares_eiECwuXP0kO6JM1Li4xT6g" contextRef="Duration_1_1_2022_To_3_31_2022_6vn3vE91T0CiaH7EkBeDAw" decimals="0" format="ixt:numdotdecimal" name="us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding" scale="0" id="Tc_Y6RiTlVdC0qQpxBIkKZKwQ_25_6">33,042,490</ix:nonFraction></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:12pt 0pt 0pt 0pt;"><span style="font-size:10pt;">See notes to our unaudited condensed consolidated financial statements</span>.</p><a id="_2ee05bdd_035c_439d_a75a_b69fdf5fc245"></a><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;line-height:1.19;margin:0pt;"><span style="font-weight:normal;visibility:hidden;">&#8203;</span></p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:12pt 0pt 0pt 0pt;">5</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:79.3%;border:0;margin:30pt 10.35% 30pt 10.35%;"></div><div style="max-width:100%;padding-left:10.35%;padding-right:10.35%;position:relative;"><div style="margin-top:21.6pt;min-height:41.75pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt 0pt 30pt 0pt;"><a href="#Toc"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;line-height:1.19;text-align:center;margin:0pt;">TOPBUILD CORP.</p><a id="Comprehensive_Income"></a><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;line-height:1.19;text-align:center;margin:0pt;">CONDENSED CONSOLIDATED STATEMENTS OF COMPREHENSIVE INCOME (Unaudited)</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;white-space:pre-wrap;"> (In thousands)</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;line-height:1.19;margin:0pt;"><span style="font-weight:normal;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;line-height:1.19;margin:0pt;"><span style="font-weight:normal;visibility:hidden;">&#8203;</span></p><a id="_d4bcc635_f92d_48ae_bd1e_a2a71c57d9ff"></a><a id="Tc_tSFMQY8CskWVxaG4evkLPQ_1_1"></a><a id="Tc_tpU8NXkRSEiKGkazNnBXzQ_2_1"></a><a id="Tc_gJXzAAAR5UK80GM1094x-g_2_4"></a><a id="Tc_rljZVTOO3UmLZiTdwszH_g_3_0"></a><a id="Tc_rc1xJn8T8UiMwMVXJ0p8zA_3_1"></a><a id="Tc_LzCkIQLbvU-fhwwxVcTu8A_3_4"></a><a id="Tc_772_hL2_bU6mjv-9AMSODg_4_0"></a><a id="Tc_nwFEXcGFvkmcCOP72tiDdA_5_0"></a><a id="Tc_QNBlzL6Q_0C7XHD51XVqGQ_6_0"></a><a id="Tc_jz49S_6l9UONCPI88vPrLg_6_1"></a><a id="Tc_iUA_AxvwHESL95LGW1NQzQ_6_4"></a><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:63.78%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:15.27%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:15.23%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:63.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="vertical-align:bottom;width:36.21%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Three Months Ended March&#160;31,&#160;</b></p></td></tr><tr><td style="vertical-align:bottom;width:63.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:17.18%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:17.13%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:63.78%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">Net income</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.27%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NetIncomeLoss" scale="3" id="Tc_7LrWHDloc02LdVUx8PvMxg_3_2">135,870</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.23%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="Duration_1_1_2022_To_3_31_2022_6vn3vE91T0CiaH7EkBeDAw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NetIncomeLoss" scale="3" id="Tc_wiiOHbwtpU2GkbFcAqOXxw_3_5">114,711</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:63.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">Other comprehensive income:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:63.78%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt 0pt 0pt 6pt;">Foreign currency translation adjustment</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.27%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax" scale="3" id="Tc_Z19BOHWZBEa0WQwC4SCF5Q_5_2">1,753</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.23%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="Duration_1_1_2022_To_3_31_2022_6vn3vE91T0CiaH7EkBeDAw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax" scale="3" id="Tc_KA1gmWhi2ku12qOD4IJcpA_5_5">3,218</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:63.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">Comprehensive income</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.27%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ComprehensiveIncomeNetOfTax" scale="3" id="Tc_T8yjw5N2Y0u4iVM9QFn5WA_6_2">137,623</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.23%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="Duration_1_1_2022_To_3_31_2022_6vn3vE91T0CiaH7EkBeDAw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ComprehensiveIncomeNetOfTax" scale="3" id="Tc__eGEcgF3m0CViGriPJ6g3w_6_5">117,929</ix:nonFraction></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;line-height:1.19;margin:0pt;"><span style="font-weight:normal;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;line-height:1.19;margin:0pt;"><span style="font-weight:normal;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;line-height:1.19;margin:0pt;"><span style="font-weight:normal;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;line-height:1.19;margin:0pt;"><span style="font-weight:normal;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;line-height:1.19;text-align:center;margin:0pt;"><span style="font-weight:normal;">See notes to our unaudited condensed consolidated financial statement</span></p><a id="_ab22de25_a97f_4e4d_a340_2a4de3a9e336"></a><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:9pt;font-weight:normal;visibility:hidden;">&#8203;</span></p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:12pt 0pt 0pt 0pt;">6</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:79.3%;border:0;margin:30pt 10.35% 30pt 10.35%;"></div><div style="max-width:100%;padding-left:10.35%;padding-right:10.35%;position:relative;"><div style="margin-top:21.6pt;min-height:41.75pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt 0pt 30pt 0pt;"><a href="#Toc"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;font-weight:bold;line-height:1.19;text-align:center;margin:0pt;">TOPBUILD CORP.</p><a id="STATEMENTSOFCASHFLOWS_518086"></a><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;font-weight:bold;line-height:1.19;text-align:center;margin:0pt;">CONDENSED CONSOLIDATED STATEMENTS OF CASH FLOWS (Unaudited)</p><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">(In thousands)</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><a id="_94a5ed85_6b3d_487a_bb28_fd62fda76a51"></a><a id="Tc_fW99jZzIK0GStWmSZiAHzg_1_2"></a><a id="Tc_SjWR5bjqHka6rm8MriVMSw_2_2"></a><a id="Tc_xv5Jhz_5h0Wuzn2jiY5xFg_2_5"></a><a id="Tc_lcACZNGeek6H4Hi7k3hHRA_3_0"></a><a id="Tc_89knYHJSmky-V-pJTQOwrw_4_0"></a><a id="Tc_77OMIj8hGEa6gf5wbeU0cg_4_2"></a><a id="Tc_aX_DgXyeTkGO7digSL99Gg_4_5"></a><a id="Tc_OOrH84Qc106yWUP3JvboqA_5_0"></a><a id="Tc_2DnzF9JH8k6w-GAWChrgtg_6_0"></a><a id="Tc_YOJwUT0EsUKCqCDKEALrZg_7_0"></a><a id="Tc_ywMnjCWDwkmFNoPmG1bo7Q_8_0"></a><a id="Tc_clTZm-2ykEaIK5MiAVWHkw_9_0"></a><a id="Tc_qpKrrHAmIECk9MRb5A51Qg_10_0"></a><a id="Tc_QLgU0cCXFkeQ-4W7z7YSjg_11_0"></a><a id="Tc_qH6Cuz-Gek6RDTqVKG1aSg_12_0"></a><a id="Tc_Iu8hqZm-yk22lGgS2IeXCg_13_0"></a><a id="Tc_J8rTM2m4oEKkvPu2-luUTw_14_0"></a><a id="Tc_b8kVWcNPrkisSjsv-vsjLg_15_0"></a><a id="Tc_6aNee4jRW0eBhE1dwB7mQA_16_0"></a><a id="Tc_uvU5maLC0kumXofFjIiJ2w_17_0"></a><a id="Tc_qGKIZf381Ey-42_cQ_oszA_18_0"></a><a id="Tc_BfW58MBWE02GPYrSzhdr9Q_19_0"></a><a id="Tc_N5GVp37gpUaCT5bIUlMW_g_20_0"></a><a id="Tc_Vi-HJaHCy0ypm2Oq8Z8Aug_22_0"></a><a id="Tc_8s4qcc7Ud0CsCETl2z7XaQ_23_0"></a><a id="Tc_HjEcInZ-eUeD8Jmw1ox0KA_24_0"></a><a id="Tc_vd1vRaVueUWo9LLwkLdBrQ_25_0"></a><a id="Tc_Lbr7UQ-OLk2QhNekwL30Hw_26_0"></a><a id="Tc_sW7Pvt4ZeUm7Ln8BZaj3Kg_28_0"></a><a id="Tc_oiJgDiY4T0y9FmuIhtdq7Q_29_0"></a><a id="Tc_dV4WT7M7C0u2fEdLHnij2w_30_0"></a><a id="Tc_mvBnexyxnE2FB8Ljop-uVQ_31_0"></a><a id="Tc_apbFkPLjoEebTIvWtUX6Kw_32_0"></a><a id="Tc_Fn4PK6aG10mUHgSBR67kmw_32_3"></a><a id="Tc_6pa-MfyT5UuLOhttQNIXAg_33_0"></a><a id="Tc_xN5WeaIhSU2vpxd0SMnogA_33_3"></a><a id="Tc__Omg7JeH3k6BCKlG8hJfgQ_34_0"></a><a id="Tc_ouvNZ-pp4U-Z_oeu5Mp9oA_35_0"></a><a id="Tc_1Et7dO_dSEyYcuK_h2W50Q_36_0"></a><a id="Tc_yJ-13NyMBU2cqXAJbp-mGw_37_0"></a><a id="Tc_fa64oDfu5EKxgFpQvnW5dA_38_0"></a><a id="Tc_O0pvLBaGtkCZS4tjqxNtZA_38_2"></a><a id="Tc_azJ5Q9ckykWxQGp8UL_ihA_38_5"></a><a id="Tc_LQh-YZxKXU2rgt_zd-BRDA_40_0"></a><a id="Tc_J6ZW-k_7lUuw93saLorOwQ_41_0"></a><a id="Tc_LwNo56-UBU63ZjuJbbraww_41_2"></a><a id="Tc_1xdVMaHz8kShq6HHQ-CiXA_41_5"></a><a id="Tc_9Tv4G8yZbEeMBjlYpqC4FA_42_0"></a><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:-0.6387825%;padding-left:0pt;padding-right:0pt;width:101.27%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:76.78%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:0.17%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.32%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.32%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:76.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:23.04%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Three Months Ended March&#160;31,&#160;</b></p></td></tr><tr><td style="vertical-align:bottom;width:76.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.71%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.7%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:76.78%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;margin:0pt;"><b style="font-weight:bold;">Cash Flows Provided by (Used in) Operating Activities:</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td></tr><tr><td style="vertical-align:bottom;width:76.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;margin:0pt;">Net income</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProfitLoss" scale="3" id="Tc_CHbPJKzso02s19YIQoGAFg_4_3">135,870</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="Duration_1_1_2022_To_3_31_2022_6vn3vE91T0CiaH7EkBeDAw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProfitLoss" scale="3" id="Tc_UhKKey3A9UqOJUux6h-aKw_4_6">114,711</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:76.78%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;margin:0pt;">Adjustments to reconcile net income to net cash provided by operating activities:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:76.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;margin:0pt 0pt 0pt 18pt;">Depreciation and amortization</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DepreciationDepletionAndAmortization" scale="3" id="Tc_CkEVLAH2WECTtraDtqAkdA_6_3">32,100</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="Duration_1_1_2022_To_3_31_2022_6vn3vE91T0CiaH7EkBeDAw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DepreciationDepletionAndAmortization" scale="3" id="Tc_qw47wEk4SkiBMyM3IxdOrw_6_6">30,499</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:76.78%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;margin:0pt 0pt 0pt 18pt;">Share-based compensation</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensation" scale="3" id="Tc_9Vv03tkZaEWbM_w9rZQ_Gg_7_3">3,135</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="Duration_1_1_2022_To_3_31_2022_6vn3vE91T0CiaH7EkBeDAw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensation" scale="3" id="Tc_P5_A9kJkuUuPryPyPmYtSA_7_6">3,727</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:76.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;margin:0pt 0pt 0pt 18pt;">Loss on sale of property and equipment</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:GainLossOnSaleOfPropertyPlantEquipment" sign="-" scale="3" id="Tc_g4GYAjcaA06dIYiqLcwt-A_8_3">185</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="Duration_1_1_2022_To_3_31_2022_6vn3vE91T0CiaH7EkBeDAw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:GainLossOnSaleOfPropertyPlantEquipment" sign="-" scale="3" id="Tc_dJA3jCrU7kiiRC9Hc-dnjw_8_6">207</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:76.78%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;margin:0pt 0pt 0pt 18pt;">Amortization of debt issuance costs</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AmortizationOfFinancingCosts" scale="3" id="Tc_Q_Fx9OWOaEefbhjPjz_FAw_9_3">720</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="Duration_1_1_2022_To_3_31_2022_6vn3vE91T0CiaH7EkBeDAw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AmortizationOfFinancingCosts" scale="3" id="Tc_vfO-D2vcEk-_0c7ByWsQbg_9_6">706</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:76.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;margin:0pt 0pt 0pt 18pt;">Provision for bad debt expense</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProvisionForDoubtfulAccounts" scale="3" id="Tc_MEnGW5PMgkmnYga1aWSHqA_10_3">1,338</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="Duration_1_1_2022_To_3_31_2022_6vn3vE91T0CiaH7EkBeDAw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProvisionForDoubtfulAccounts" scale="3" id="Tc_Q4vCIakrZ0qxqdf4od9Gyg_10_6">2,512</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:76.78%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;margin:0pt 0pt 0pt 18pt;">Loss from inventory obsolescence</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:InventoryWriteDown" scale="3" id="Tc_s0y1xqDX80aqH4RX-AD4Bg_11_3">1,642</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="Duration_1_1_2022_To_3_31_2022_6vn3vE91T0CiaH7EkBeDAw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:InventoryWriteDown" scale="3" id="Tc_xedXIuifsEaqQ7j-zE6Z3w_11_6">868</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:76.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;margin:0pt 0pt 0pt 18pt;">Deferred income taxes, net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInDeferredIncomeTaxes" sign="-" scale="3" id="Tc_C_aswAKDwEOXVs6o_DSENg_12_3">563</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="Duration_1_1_2022_To_3_31_2022_6vn3vE91T0CiaH7EkBeDAw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInDeferredIncomeTaxes" scale="3" id="Tc_OE4x5aKyOEuIJGt1amQ2yA_12_6">81</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:76.78%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;margin:0pt 0pt 0pt 18pt;">Change in certain assets and liabilities:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:76.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;margin:0pt 0pt 0pt 30pt;">Receivables, net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInAccountsReceivable" scale="3" id="Tc_FTtjf41aM0Gd1VPizteoiQ_14_3">10,847</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="Duration_1_1_2022_To_3_31_2022_6vn3vE91T0CiaH7EkBeDAw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInAccountsReceivable" scale="3" id="Tc_8Esrb5xq0EGbBt8XAusM_g_14_6">65,031</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:76.78%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;margin:0pt 0pt 0pt 30pt;">Inventories, net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInInventories" sign="-" scale="3" id="Tc_MdgRKaMZD0aCksvjjArVSw_15_3">20,096</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="Duration_1_1_2022_To_3_31_2022_6vn3vE91T0CiaH7EkBeDAw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInInventories" scale="3" id="Tc_ab4FGKrR3UCiI6rYNW6Mtw_15_6">38,570</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:76.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;margin:0pt 0pt 0pt 30pt;">Prepaid expenses and other current assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" sign="-" scale="3" id="Tc_SSHHHim20EOrCybFUPKOPw_16_3">11,579</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="Duration_1_1_2022_To_3_31_2022_6vn3vE91T0CiaH7EkBeDAw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" scale="3" id="Tc_-M7cdgxlqUqPsS1-WH1QcA_16_6">2,347</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:76.78%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;margin:0pt 0pt 0pt 30pt;">Accounts payable</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInAccountsPayable" sign="-" scale="3" id="Tc_OVDzTW2PKEukbopJvfD27A_17_3">25,480</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="Duration_1_1_2022_To_3_31_2022_6vn3vE91T0CiaH7EkBeDAw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInAccountsPayable" scale="3" id="Tc_7jasxpr2QUqh_4ggSQ6wPw_17_6">12,663</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:76.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;margin:0pt 0pt 0pt 30pt;">Accrued liabilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInAccruedLiabilities" sign="-" scale="3" id="Tc_-SPI7kcV2UO8FMDLFwdFDA_18_3">3,339</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="Duration_1_1_2022_To_3_31_2022_6vn3vE91T0CiaH7EkBeDAw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInAccruedLiabilities" scale="3" id="Tc_clVd6567w06p16PoCXs9hQ_18_6">29,523</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:76.78%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;margin:0pt 0pt 0pt 18pt;">Other, net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.32%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherOperatingActivitiesCashFlowStatement" scale="3" id="Tc_fmskulkqP0OEBWBvxGxQxQ_19_3">2,239</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.32%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="Duration_1_1_2022_To_3_31_2022_6vn3vE91T0CiaH7EkBeDAw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherOperatingActivitiesCashFlowStatement" scale="3" id="Tc_hp1M6xboN0i8LnN-RbcXoA_19_6">96</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:76.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;margin:0pt 0pt 0pt 30pt;">Net cash provided by operating activities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.32%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NetCashProvidedByUsedInOperatingActivities" scale="3" id="Tc_bJGBpyWvekCPlIA1aMHhJw_20_3">169,801</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.32%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="Duration_1_1_2022_To_3_31_2022_6vn3vE91T0CiaH7EkBeDAw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NetCashProvidedByUsedInOperatingActivities" scale="3" id="Tc_z-Q04yPiLEO4WqkHnXPYeg_20_6">89,483</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:76.78%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:76.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;margin:0pt;"><b style="font-weight:bold;">Cash Flows Provided by (Used in) Investing Activities:</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:76.78%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;margin:0pt 0pt 0pt 18pt;">Purchases of property and equipment</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:PaymentsToAcquirePropertyPlantAndEquipment" scale="3" id="Tc_nJbqdfeXF0embLrNQbLNgw_23_3">15,580</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="Duration_1_1_2022_To_3_31_2022_6vn3vE91T0CiaH7EkBeDAw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:PaymentsToAcquirePropertyPlantAndEquipment" scale="3" id="Tc_cOMsXB7RfUKQ4iz06UWOMw_23_6">18,413</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:76.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;margin:0pt 0pt 0pt 18pt;">Acquisition of businesses, net of cash acquired</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired" scale="3" id="Tc_EJBIzx0Hvke0C9NobL1WsA_24_3">45,845</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="Duration_1_1_2022_To_3_31_2022_6vn3vE91T0CiaH7EkBeDAw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired" scale="3" id="Tc_9XY1ET08Ck2aJq1iBUz-ww_24_6">13,967</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:76.78%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;margin:0pt 0pt 0pt 18pt;">Proceeds from sale of property and equipment</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.32%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProceedsFromSaleOfPropertyPlantAndEquipment" scale="3" id="Tc_Qp0mqfCrN0uA_swT1B-VNA_25_3">455</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.32%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="Duration_1_1_2022_To_3_31_2022_6vn3vE91T0CiaH7EkBeDAw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProceedsFromSaleOfPropertyPlantAndEquipment" scale="3" id="Tc_iRrp4PoPYUO-VdLJucX6kg_25_6">253</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:76.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;margin:0pt 0pt 0pt 30pt;">Net cash used in investing activities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.32%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NetCashProvidedByUsedInInvestingActivities" sign="-" scale="3" id="Tc_rwSy8-IuY0mHMDLDn1VdGw_26_3">60,970</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.32%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="Duration_1_1_2022_To_3_31_2022_6vn3vE91T0CiaH7EkBeDAw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NetCashProvidedByUsedInInvestingActivities" sign="-" scale="3" id="Tc_M0XU7qeYckCzjxU7g1oQdA_26_6">32,127</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:76.78%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:76.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;margin:0pt;"><b style="font-weight:bold;">Cash Flows Provided by (Used in) Financing Activities:</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:76.78%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;margin:0pt 0pt 0pt 18pt;">Repayment of long-term debt</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RepaymentsOfLongTermDebt" scale="3" id="Tc_Pa3P5UbjTU6RkZJ8JzviCg_29_3">9,743</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="Duration_1_1_2022_To_3_31_2022_6vn3vE91T0CiaH7EkBeDAw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RepaymentsOfLongTermDebt" scale="3" id="Tc_qoQiNJmmoE6Tpc2p4vLkVw_29_6">9,634</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:76.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;margin:0pt 0pt 0pt 18pt;">Taxes withheld and paid on employees&#39; equity awards</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:PaymentsRelatedToTaxWithholdingForShareBasedCompensation" scale="3" id="Tc_sndmNGM44U6t_IZjclJvLg_30_3">6,350</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="Duration_1_1_2022_To_3_31_2022_6vn3vE91T0CiaH7EkBeDAw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:PaymentsRelatedToTaxWithholdingForShareBasedCompensation" scale="3" id="Tc_MhgEpgfTiECyaNhIzVxv7Q_30_6">11,658</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:76.78%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;margin:0pt 0pt 0pt 18pt;">Exercise of stock options</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProceedsFromStockOptionsExercised" scale="3" id="Tc_Xb1wjaNnQkyPpgdmcLb4nQ_31_3">1,029</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="Duration_1_1_2022_To_3_31_2022_6vn3vE91T0CiaH7EkBeDAw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProceedsFromStockOptionsExercised" scale="3" id="Tc_jNmD-VpiMk63uykfK9tTjw_31_6">808</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:76.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;margin:0pt 0pt 0pt 18pt;">Repurchase of shares of common stock</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="Duration_1_1_2022_To_3_31_2022_6vn3vE91T0CiaH7EkBeDAw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:PaymentsForRepurchaseOfCommonStock" scale="3" id="Tc_Csn9bHXPVE2E3j28XODpbw_32_6">50,000</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:76.78%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;margin:0pt 0pt 0pt 18pt;">Payment of contingent consideration</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.32%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.32%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="Duration_1_1_2022_To_3_31_2022_6vn3vE91T0CiaH7EkBeDAw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:PaymentForContingentConsiderationLiabilityFinancingActivities" scale="3" id="Tc_LlFVDNEGFU-ffvGg7lNkiQ_33_6">23</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:76.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;margin:0pt 0pt 0pt 30pt;">Net cash used in financing activities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.32%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NetCashProvidedByUsedInFinancingActivities" sign="-" scale="3" id="Tc_2eLstVlLs0C8LwkYpMqeNA_34_3">15,064</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.32%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="Duration_1_1_2022_To_3_31_2022_6vn3vE91T0CiaH7EkBeDAw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NetCashProvidedByUsedInFinancingActivities" sign="-" scale="3" id="Tc_PNlHMmMocU2Ph4muftLutA_34_6">70,507</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:76.78%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;margin:0pt 0pt 0pt 18pt;">Impact of exchange rate changes on cash</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.32%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" sign="-" scale="3" id="Tc_ju7n3eZl0EGJbjA-Pj5rGg_35_3">58</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.32%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="Duration_1_1_2022_To_3_31_2022_6vn3vE91T0CiaH7EkBeDAw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" sign="-" scale="3" id="Tc_G_Fu1MS_XEaI7My-II2pAQ_35_6">75</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:76.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;margin:0pt 0pt 0pt 30pt;">Net increase (decrease) in cash and cash equivalents</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" scale="3" id="Tc_E5XSqF-E3kOvhI57GdOtaA_36_3">93,709</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="Duration_1_1_2022_To_3_31_2022_6vn3vE91T0CiaH7EkBeDAw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" sign="-" scale="3" id="Tc_QxGmZwoPt06XKzfUQHIsDA_36_6">13,226</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:76.78%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;margin:0pt;">Cash and cash equivalents- Beginning of period</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.32%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="As_Of_12_31_2022_3M6K0OeVvUOHwft-0BiHjg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" scale="3" id="Tc_F0VJVKOn1k63rrrwIIwR5w_37_3">240,069</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.32%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="As_Of_12_31_2021_E3XLgxKuqkG3H9Q0OJ-D2w" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" scale="3" id="Tc_WzonRYf9XU6aQ-fTzbrhSg_37_6">139,779</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:76.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;margin:0pt;">Cash and cash equivalents- End of period</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.32%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="As_Of_3_31_2023_if5iG1tra0aH_pegPPBopw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" scale="3" id="Tc_0VMKZkP7K0i5bcj7MsmjEA_38_3">333,778</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.32%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="As_Of_3_31_2022__Zk_lDEdHEWJ823DIF3NZg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" scale="3" id="Tc_NR5dm1WB4keB93UJ8tQN_A_38_6">126,553</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:76.78%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt 0pt 0pt 18pt;"><span style="font-size:8pt;margin-left:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:76.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;margin:0pt;"><b style="font-weight:bold;">Supplemental disclosure of noncash activities:</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:76.78%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;margin:0pt 0pt 0pt 18pt;">Leased assets obtained in exchange for new operating lease liabilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability" scale="3" id="Tc_-BbBJ-CcCkahMq7Bp4281Q_41_3">18,271</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="Duration_1_1_2022_To_3_31_2022_6vn3vE91T0CiaH7EkBeDAw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability" scale="3" id="Tc_5kRiUEAWsEekwqPyYpWaPQ_41_6">22,449</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:76.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;margin:0pt 0pt 0pt 18pt;">Accruals for property and equipment</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CapitalExpendituresIncurredButNotYetPaid" scale="3" id="Tc_2qCZ8kPAZUaRLm7AqnPxuQ_42_3">835</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="Duration_1_1_2022_To_3_31_2022_6vn3vE91T0CiaH7EkBeDAw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CapitalExpendituresIncurredButNotYetPaid" scale="3" id="Tc_T21IQCoEPkCxnSCX7Rrq6Q_42_6">213</ix:nonFraction></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:12pt 0pt 0pt 0pt;">See notes to our unaudited condensed consolidated financial statements.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><a id="_171e5cfe_497e_42be_b648_fa68849477e6"></a><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;line-height:1.19;text-align:center;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.28;margin:0pt 0pt 8pt 0pt;"><span style="font-weight:bold;line-height:1.19;margin-bottom:0pt;visibility:hidden;">&#8203;</span></p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:12pt 0pt 0pt 0pt;">7</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:79.3%;border:0;margin:30pt 10.35% 30pt 10.35%;"></div><div style="max-width:100%;padding-left:10.35%;padding-right:10.35%;position:relative;"><div style="margin-top:21.6pt;min-height:41.75pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt 0pt 30pt 0pt;"><a href="#Toc"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;line-height:1.19;text-align:center;margin:0pt;">TOPBUILD CORP.</p><a id="STATEMENTSOFEQUITY_825008"></a><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;line-height:1.19;text-align:center;margin:0pt;">CONDENSED CONSOLIDATED STATEMENTS OF CHANGES IN EQUITY (Unaudited)</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt 0pt 3pt 0pt;"><b style="font-weight:bold;">(In thousands except share data)</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt 0pt 3pt 0pt;"><span style="font-weight:bold;margin-bottom:0pt;visibility:hidden;">&#8203;</span></p><a id="_9245b4a9_48c2_4bdc_84fe_00af45f3e840"></a><a id="Tc_X_hsRyNa_E-zU9kNQZlmWw_1_13"></a><a id="Tc_Y5oi6FQaakmjNNlBRvK1nw_2_1"></a><a id="Tc_RPpR150QskmC0oIwHKpL1w_2_4"></a><a id="Tc_LWC-68LRm0WyfNjBxfp_TQ_2_7"></a><a id="Tc_O06YNgNUrEi97JfaNNwhCg_2_13"></a><a id="Tc_-Y1H6GlTd0Wf4XKoLOP4LA_3_1"></a><a id="Tc_05iw-QvWdkmNiOd-mOSrmg_3_4"></a><a id="Tc_rf8EQm9Baka1VcQa0W8VOA_3_7"></a><a id="Tc_9fkGram9dUSUNFGa11y0Jw_3_10"></a><a id="Tc_YjLbCicQEEW_5Du_qDXW2g_3_13"></a><a id="Tc_nkVrU2n0kUO7orHc8KobfQ_4_1"></a><a id="Tc_aeSI4ghFUEuJJfRhOy9jhQ_4_4"></a><a id="Tc_XDGJHw3eYEyxvf8nVCs9Qw_4_7"></a><a id="Tc_Ju_e-jCIS0i3oEmC2XTFAQ_4_10"></a><a id="Tc_fmxEZReg5Ee1TYUeL_IaVw_4_13"></a><a id="Tc_UeEPGDRzB0uEVmBJQEEQow_4_16"></a><a id="Tc_GaempAvSnEKR3Dq9lh2vvw_5_0"></a><a id="Tc_Y0YM5cN0ikehv-mjdoP4NQ_5_1"></a><a id="Tc_SgsAfruyK0-NnWx5B-HDxA_5_4"></a><a id="Tc_zNo8BB84fUOkMqkjP-l0Gg_5_7"></a><a id="Tc_tk2OwnoMQkmt5Lk9-bQehQ_5_10"></a><a id="Tc_jo0IhhClcU-gfpYa5zNZYw_5_13"></a><a id="Tc_0Nb9Jd3NxEySutNNfKfCkQ_5_16"></a><a id="Tc_dDzL56ATAEeInDboBZzQXQ_6_0"></a><a id="Tc_vA7PpR8jZ0uez5vTOpSAlw_6_2"></a><a id="Tc_RjgI8AWg8kq_5QYZcdMnfg_6_5"></a><a id="Tc_QZE01PNCBkOz8IbPo6LV8w_6_8"></a><a id="Tc_uuwJpClHl0aaftbUnbx4oQ_6_14"></a><a id="Tc_cX-dHeiv7kakOqKatQg0SA_7_0"></a><a id="Tc_ibktxloWI0u4xX2plvtK4A_7_2"></a><a id="Tc_HPnjCQbUJEe-QtkCAQegWw_7_5"></a><a id="Tc_mxtwE5YEFkWnDku7Yxnfjg_7_11"></a><a id="Tc_NQNddmEzaEuwdOO0R45fDw_7_14"></a><a id="Tc_nupxSArjOUmPh5CZ1pUV6g_8_0"></a><a id="Tc_AFXfaWE6xE2FVORFzNTB5A_8_5"></a><a id="Tc_f10y7dvBKkiLDj4knFIw3A_8_11"></a><a id="Tc_SF4RKI_TLU26JhF0w9RCDQ_8_14"></a><a id="Tc_kxH_2Tfy1E-_Du2OtZnXJQ_8_17"></a><a id="Tc__boxksOBqkC9opngRCyOJQ_9_0"></a><a id="Tc_LuBGPyU_EkCBY4tI9NQFbQ_9_2"></a><a id="Tc_GDHZZWokwkex99_hU-JWmw_9_8"></a><a id="Tc_BM6xYuvTGUKxlXruo7PV7g_9_11"></a><a id="Tc_rMS7Oue3SkeBu-G6abyBvA_9_14"></a><a id="Tc_UPru2yz1F0qv8CfMUCEEYw_10_0"></a><a id="Tc_OUtYOyPkBEG3Rl89arirWg_10_2"></a><a id="Tc_CCTBekOSQ0ajcPozWVNzwg_10_8"></a><a id="Tc_DZQ22ny0J0O9wv_QSl_w9A_10_11"></a><a id="Tc_0H4RsiqTe0qIx55y5kCSzQ_10_14"></a><a id="Tc_dWp6-ZLV-E2tJ3svzH56pg_11_0"></a><a id="Tc_8-_r81DTVUW0VEAYZaT6Bg_11_2"></a><a id="Tc_vbzicZ-FGk2sUT_hf7wV5Q_11_5"></a><a id="Tc_czgVbw-5HUSmOr49-cC81g_11_11"></a><a id="Tc_IqIkh2hTPkmGgKS2eYIt6A_11_14"></a><a id="Tc_72oJFotP8U2NA46a7N-5Sw_12_0"></a><a id="Tc_HuBk9Xy6p0ifFsp9emy1kA_12_2"></a><a id="Tc_HKl5KtBHNUeW0h3fP1xeBQ_12_5"></a><a id="Tc_0V0i5hlmTU-P3_8Ltj7VJA_12_8"></a><a id="Tc_iaqD0fjKkEaw4PqgVMUvZw_12_11"></a><a id="Tc_oxIA81y7eE6BwdZe8rrNYQ_13_0"></a><a id="Tc_5Oi0b097lkC8DxQ5Pny4Cw_13_1"></a><a id="Tc_q_7UKm-qKUi277WBql7Nxg_13_4"></a><a id="Tc_coIBDqkqkUWUzad2njzMBA_13_7"></a><a id="Tc_ecFeSCuoh0mefxPacxMuUA_13_10"></a><a id="Tc_X-hJ5mafm0-JfrTDYMfF0Q_13_13"></a><a id="Tc_xZzX1cRIPU-enb-F08XYWA_13_16"></a><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:30.16%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.35%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.96%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.96%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.96%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.56%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.92%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:30.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Accumulated</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:30.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Common</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Treasury</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Additional</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:7pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Other </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:30.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Stock</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Stock</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Paid-in</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Retained</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Comprehensive</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:30.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.39%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">(</b><b style="font-weight:bold;">$<ix:nonFraction unitRef="Unit_Divide_USD_shares_imdDf3-8d0qa5ZDAI6M6QA" contextRef="As_Of_3_31_2023_if5iG1tra0aH_pegPPBopw" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:CommonStockParOrStatedValuePerShare" scale="0" id="Narr_uWFKiJulBUmS24lfN1MiNA">0.01</ix:nonFraction></b><b style="font-weight:bold;"> par value)</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">at cost</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Capital</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Earnings</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.87%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">(Loss) Income</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Equity</b></p></td></tr><tr><td style="vertical-align:bottom;width:30.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;margin:0pt;"><b style="font-weight:bold;">Balance at December 31, 2021</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:right;margin:0pt 2.4pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="As_Of_12_31_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_K4Q3DjveCEiH0sBuPGCPDQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquity" scale="3" id="Tc_JKFL0oOMUkWePaPH_AruGA_5_2">391</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="As_Of_12_31_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockCommonMember_aoGRqgmjFESQWsmqvRfu9g" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquity" sign="-" scale="3" id="Tc_ieZd-yomz0GD9Nj4U72KVQ_5_5">431,030</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:right;margin:0pt 2.4pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="As_Of_12_31_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_xlHF0V5WBEeDbcFLDgsp3g" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquity" scale="3" id="Tc_ELc1RBclTEybwvhK9WOPqg_5_8">873,031</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:right;margin:0pt 2.4pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="As_Of_12_31_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember__pvOBVpXeE67ZLr3-c0IdQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquity" scale="3" id="Tc_F12IfjcwHEqMi-2MBx925A_5_11">1,200,676</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.56%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="As_Of_12_31_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_ZkWO_EPNxka9Q35wozuBMQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquity" sign="-" scale="3" id="Tc_YaaJ7jUOLkKU7_6CaRNC5g_5_14">6,634</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:right;margin:0pt 2.4pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="As_Of_12_31_2021_E3XLgxKuqkG3H9Q0OJ-D2w" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquity" scale="3" id="Tc_s5SoCZm-wEmrxMvOdJzpJQ_5_17">1,636,434</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:30.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;margin:0pt;">Net income </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:right;margin:0pt 2.4pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:right;margin:0pt 2.4pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:right;margin:0pt 2.4pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:right;margin:0pt 2.4pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="Duration_1_1_2022_To_3_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_ZcDfzUxETUOxPY4XBVDg7Q" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NetIncomeLoss" scale="3" id="Tc_t5mEDlb1kkyNqYoXaNdDog_6_11">114,711</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:right;margin:0pt 2.4pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:right;margin:0pt 2.4pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="Duration_1_1_2022_To_3_31_2022_6vn3vE91T0CiaH7EkBeDAw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NetIncomeLoss" scale="3" id="Tc_9MxBfKsPMEizVw0a5G2aig_6_17">114,711</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:30.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;margin:0pt;">Share-based compensation</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:right;margin:0pt 2.4pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:right;margin:0pt 2.4pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:right;margin:0pt 2.4pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="Duration_1_1_2022_To_3_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_YYMAF13PdEy8Y5mQdXKWYA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" scale="3" id="Tc_MB35i6hTHEekQxUJxPVcsw_7_8">3,727</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:right;margin:0pt 2.4pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.56%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:right;margin:0pt 2.4pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:right;margin:0pt 2.4pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="Duration_1_1_2022_To_3_31_2022_6vn3vE91T0CiaH7EkBeDAw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" scale="3" id="Tc_28IhLAeBuEu_IQGhqXEGiA_7_17">3,727</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:30.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;margin:0pt;">Issuance of <ix:nonFraction unitRef="Unit_Standard_shares_eiECwuXP0kO6JM1Li4xT6g" contextRef="Duration_1_1_2022_To_3_31_2022_6vn3vE91T0CiaH7EkBeDAw" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:StockIssuedDuringPeriodSharesRestrictedStockAwardGross" scale="0" id="Narr_xFA5diXn9UutaQJoadsJfA">52,940</ix:nonFraction> restricted share awards under long-term equity incentive plan</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:right;margin:0pt 2.4pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="Duration_1_1_2022_To_3_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_r94adSnxsE6EVtvTOFRWng" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardGross" scale="3" id="Tc_DMoWkUjt0Ea5xccM7oY_Kg_8_2">2</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:right;margin:0pt 2.4pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="Duration_1_1_2022_To_3_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_YYMAF13PdEy8Y5mQdXKWYA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardGross" sign="-" scale="3" id="Tc_iaxbJcnZ8kqs_zk4kh55xg_8_8">2</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:right;margin:0pt 2.4pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:right;margin:0pt 2.4pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:right;margin:0pt 2.4pt 0pt 0pt;"> -</p></td></tr><tr><td style="vertical-align:middle;width:30.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;margin:0pt;">Repurchase of <ix:nonFraction unitRef="Unit_Standard_shares_eiECwuXP0kO6JM1Li4xT6g" contextRef="Duration_1_1_2022_To_3_31_2022_6vn3vE91T0CiaH7EkBeDAw" decimals="INF" format="ixt:numdotdecimal" name="bld:TreasuryStockSharesAcquiredCostMethodShareRepurchaseProgram" scale="0" id="Narr_bU_bl5Fu_ky7uL7-RXVP_A">238,154</ix:nonFraction> shares</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:right;margin:0pt 2.4pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="Duration_1_1_2022_To_3_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockCommonMember_ntDLPWP-Y0eL6UZY-7ZLNg" decimals="-3" format="ixt:numdotdecimal" name="bld:TreasuryStockValueAcquiredCostMethodShareRepurchaseProgram" scale="3" id="Tc_sUKrLEncCEOYTw9-qq0Ing_9_5">50,000</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:right;margin:0pt 2.4pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:right;margin:0pt 2.4pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.56%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:right;margin:0pt 2.4pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="Duration_1_1_2022_To_3_31_2022_6vn3vE91T0CiaH7EkBeDAw" decimals="-3" format="ixt:numdotdecimal" name="bld:TreasuryStockValueAcquiredCostMethodShareRepurchaseProgram" scale="3" id="Tc_O8etyn8LCUCGd9adKLK3OA_9_17">50,000</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:30.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;margin:0pt;"><ix:nonFraction unitRef="Unit_Standard_shares_eiECwuXP0kO6JM1Li4xT6g" contextRef="Duration_1_1_2022_To_3_31_2022_6vn3vE91T0CiaH7EkBeDAw" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:SharesPaidForTaxWithholdingForShareBasedCompensation" scale="0" id="Narr_XlDpCURr006-31WFfg0SNA">53,073</ix:nonFraction> shares withheld to pay taxes on employees&#39; equity awards</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:right;margin:0pt 2.4pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="Duration_1_1_2022_To_3_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockCommonMember_ntDLPWP-Y0eL6UZY-7ZLNg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation" scale="3" id="Tc_djmwFVhWG0iHSknlLGYmVQ_10_5">11,658</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:right;margin:0pt 2.4pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:right;margin:0pt 2.4pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:right;margin:0pt 2.4pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="Duration_1_1_2022_To_3_31_2022_6vn3vE91T0CiaH7EkBeDAw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation" scale="3" id="Tc_4w9pGGkvcEOYpxDo3SgxzA_10_17">11,658</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:30.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;margin:0pt;"><ix:nonFraction unitRef="Unit_Standard_shares_eiECwuXP0kO6JM1Li4xT6g" contextRef="Duration_1_1_2022_To_3_31_2022_6vn3vE91T0CiaH7EkBeDAw" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised" scale="0" id="Narr_CczEdSdteEOHI2cNLKfrdA">12,269</ix:nonFraction> shares issued upon exercise of stock options</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:right;margin:0pt 2.4pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:right;margin:0pt 2.4pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:right;margin:0pt 2.4pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="Duration_1_1_2022_To_3_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_YYMAF13PdEy8Y5mQdXKWYA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised" scale="3" id="Tc_9HyrofPY7k2zjF7asPylXw_11_8">808</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:right;margin:0pt 2.4pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.56%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:right;margin:0pt 2.4pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:right;margin:0pt 2.4pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="Duration_1_1_2022_To_3_31_2022_6vn3vE91T0CiaH7EkBeDAw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised" scale="3" id="Tc_gpZtb948gU-YlQ8MfaaiKQ_11_17">808</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:30.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;margin:0pt;">Other comprehensive income, net of tax</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.35%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:right;margin:0pt 2.4pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.96%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:right;margin:0pt 2.4pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.96%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:right;margin:0pt 2.4pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.96%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:right;margin:0pt 2.4pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.56%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:right;margin:0pt 2.4pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="Duration_1_1_2022_To_3_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_xnmDuIYJzUOQlDKBdXWHog" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherComprehensiveIncomeLossNetOfTax" scale="3" id="Tc_2suE5iniWEqjZIBJs90Z9g_12_14">3,218</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:right;margin:0pt 2.4pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="Duration_1_1_2022_To_3_31_2022_6vn3vE91T0CiaH7EkBeDAw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherComprehensiveIncomeLossNetOfTax" scale="3" id="Tc_SgzGRcCT50CElizVM7_uxQ_12_17">3,218</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:30.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;margin:0pt;"><b style="font-weight:bold;">Balance at March 31, 2022</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.35%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.03%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:right;margin:0pt 2.4pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="As_Of_3_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_-WLZknLc_EO6uYMNLBbE7g" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquity" scale="3" id="Tc_DpwDCdgmmkSSdJBRlQB43A_13_2">393</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.96%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="As_Of_3_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockCommonMember__qc3JlJGTka4g7lG8jQIKw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquity" sign="-" scale="3" id="Tc_pclFBrEHa0ibaQY_rOdhVg_13_5">492,688</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.96%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:right;margin:0pt 2.4pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="As_Of_3_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_UP_jxLV5x0u7Ji9GffULgg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquity" scale="3" id="Tc_qFfm5P5iC0Kv9cxGG4Cxww_13_8">877,564</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.96%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:right;margin:0pt 2.4pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="As_Of_3_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_3bDtyK5TkEKLfjrAJGHnJg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquity" scale="3" id="Tc_TUFOSfFWJUmCyk-JPLnOpA_13_11">1,315,387</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.56%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="As_Of_3_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_hB_lpYD3vEm4my71pcTHwQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquity" sign="-" scale="3" id="Tc_z6ekypuqOUKwjCuqMC00eg_13_14">3,416</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.92%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:right;margin:0pt 2.4pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="As_Of_3_31_2022__Zk_lDEdHEWJ823DIF3NZg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquity" scale="3" id="Tc_vZjo31z6PUORwI9fHabSxA_13_17">1,697,240</ix:nonFraction></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><a id="_d32b92e9_e1fb_4be9_a9d6_c326fb488720"></a><a id="Tc_pO2_rJUFXkeEJ4y_0iYPcg_1_13"></a><a id="Tc_zgBzehhp0kmWnYkjWBBXLA_2_1"></a><a id="Tc_EUe_fFP7kk6F6cb8XICQiw_2_4"></a><a id="Tc_rpG0Y7WFP06LuZH52W_vhg_2_7"></a><a id="Tc_YZ8HXhY8wU2aSHxuL-USsw_2_13"></a><a id="Tc_l9ZHXL06tEyyeVld8laKzg_3_1"></a><a id="Tc_mjB6UHkNKEmV5fDV0NYWUg_3_4"></a><a id="Tc_hS6aUPtKqUSDncljFwDu4w_3_7"></a><a id="Tc_kXaJYCmS6EGdDpNKazVcWA_3_10"></a><a id="Tc_I-dPPlVY_06zQmphuUylbQ_3_13"></a><a id="Tc_na2uMXvvQ0O0iLtBRu3saA_4_1"></a><a id="Tc_6ij5VpX1JkabawegVFwngA_4_4"></a><a id="Tc_PIEv2gLGlE6IDhNEzfERGw_4_7"></a><a id="Tc_JmsI17yjBEOzkudqq3I7Bg_4_10"></a><a id="Tc_SXk3fpoeTUWlJS3PI_RYTA_4_13"></a><a id="Tc_6-0LVnUwlkulAtRNhKxx3g_4_16"></a><a id="Tc_-QC_rCgk10qRkIFl0PuE7g_5_0"></a><a id="Tc_kng_kSM2gEqDoXlyBUd6dA_5_1"></a><a id="Tc_0HyItFEVQ0ilGyX86lZ_Mg_5_4"></a><a id="Tc_JWSM6PSW_UivNMNuytkxcA_5_7"></a><a id="Tc_cVs6jPbOyU6QISll971X5w_5_10"></a><a id="Tc_ciri11B_Z0aeCuvIR0g1KQ_5_13"></a><a id="Tc_oRMxXSeCakq2apg92X2ObA_5_16"></a><a id="Tc_H6bBgvRjTkSRD7i5x0muLQ_6_0"></a><a id="Tc_ZctvfLqIoEGPQ95g5Q9CWw_6_2"></a><a id="Tc_Gp0gIgOQg0WSW1E4uHwDWA_6_5"></a><a id="Tc_eNYCLMj3hkmyXQEyqG8ekg_6_8"></a><a id="Tc_FyzZ50cioEGSF5ShYiKcAA_6_14"></a><a id="Tc_Wlt9nTsxb0qev_HsuJLdlQ_7_0"></a><a id="Tc_w4PG7XBkfUqpyicpATwwDg_7_2"></a><a id="Tc_08FlLHOnOE6bAfXfxYByPA_7_5"></a><a id="Tc_5aqqMOoRP0-qO0Hf2TTKGQ_7_11"></a><a id="Tc_GiJd4HQkKk-T5b0sI05OiA_7_14"></a><a id="Tc_pbj8yExs9U-NBuzth6-FRw_8_0"></a><a id="Tc_EmmIAOA8R0-i_bjmOH0liA_8_5"></a><a id="Tc_jIeFbfwG0UWYmTv8o1gDeA_8_8"></a><a id="Tc_9AUin2doKU2AQnj-NyiLfQ_8_11"></a><a id="Tc_Ys7jJOs7jkKck7mC3TZY6g_8_14"></a><a id="Tc_OkfTFXk6l0Owkc55CQe4xQ_9_0"></a><a id="Tc_WMpoIRVNB0WZnOS4EqsN3g_9_2"></a><a id="Tc_Dj3i0Aw-VUK2an6QCNVjQA_9_8"></a><a id="Tc_qquLuitdA0W48AvzAhXibg_9_11"></a><a id="Tc_aDxhPd350Ey2bni0URM-Sw_9_14"></a><a id="Tc_pwmVrimxGEm9kHQEmNVM_Q_10_0"></a><a id="Tc_ISh5UkhMfUOd3ZkYOrjz6Q_10_2"></a><a id="Tc_R84xC9AORkKYdt4UrSY_Jg_10_5"></a><a id="Tc_SozuGFg320OmFz6kCUPxlw_10_11"></a><a id="Tc_vkKcz4k_q06E6RPr_tfJBg_10_14"></a><a id="Tc_YuSLIxgSwUm3_vxEWLKBiQ_11_0"></a><a id="Tc_OhD4fSsabU6exO6u2DtjmA_11_2"></a><a id="Tc_DoClgaUFu02saVeU22SBjw_11_5"></a><a id="Tc_w_8EnlYuBkWzDtO4jQk2ZQ_11_8"></a><a id="Tc_tGLx3BkSmEa2TnrsqdOo7Q_11_11"></a><a id="Tc_wkoAvjAD60C5yTcxkeSXeg_12_0"></a><a id="Tc_1s1qddK8rUqyelxuQe7NEQ_12_1"></a><a id="Tc_1UhxwpnFKU236r3CYjAiXA_12_4"></a><a id="Tc_A4FvwJSO80m_HuXS72h7fw_12_7"></a><a id="Tc_js_PPpWbWkq96sz4yWS8NA_12_10"></a><a id="Tc_p-n5mA_6ek6pUJAcbgyXrQ_12_13"></a><a id="Tc_tXYfjtBTCUmqXObJBPCEjA_12_16"></a><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:30.16%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.35%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.96%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.96%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.96%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.56%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.92%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:30.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Accumulated</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:30.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Common</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Treasury</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Additional</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:7pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Other </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:30.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Stock</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Stock</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Paid-in</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Retained</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Comprehensive</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:30.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.39%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">(</b><b style="font-weight:bold;">$<ix:nonFraction unitRef="Unit_Divide_USD_shares_imdDf3-8d0qa5ZDAI6M6QA" contextRef="As_Of_3_31_2023_if5iG1tra0aH_pegPPBopw" decimals="2" format="ixt:numdotdecimal" name="us-gaap:CommonStockParOrStatedValuePerShare" scale="0" id="Narr__8ZQtm6p6kKJRsWYDo108g">0.01</ix:nonFraction></b><b style="font-weight:bold;"> par value)</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">at cost</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Capital</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Earnings</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.87%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">(Loss) Income</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Equity</b></p></td></tr><tr><td style="vertical-align:bottom;width:30.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;margin:0pt;"><b style="font-weight:bold;">Balance at December 31,&#160;2022</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:right;margin:0pt 2.4pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="As_Of_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_Irp462mrQUS46zMir5jc3g" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquity" scale="3" id="Tc_iTBLGuOb8UGVC2uFA6xq5g_5_2">393</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="As_Of_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockCommonMember_KfSzM8aCfEC6P-O2fJUm7g" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquity" sign="-" scale="3" id="Tc_ulC_ruvDmEu_2NxXzj8psg_5_5">692,799</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:right;margin:0pt 2.4pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="As_Of_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_LaYSzyaUqEWHOGOQq680pw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquity" scale="3" id="Tc_aavgI1ECbEK-PGtUBqFeTw_5_8">887,367</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:right;margin:0pt 2.4pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="As_Of_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_x8JaX_v4PE-MsieRKNXtPA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquity" scale="3" id="Tc_fkSi2Oozx0SeCKytuZP4wA_5_11">1,756,665</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.56%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="As_Of_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_1p0qTKI-3EOvSkwuCyLm4w" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquity" sign="-" scale="3" id="Tc_Sfx9DKL_GUq0poXZYZGe4w_5_14">21,920</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:right;margin:0pt 2.4pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="As_Of_12_31_2022_3M6K0OeVvUOHwft-0BiHjg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquity" scale="3" id="Tc_oY93juOBbEumZ2ngFbot9g_5_17">1,929,706</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:30.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;margin:0pt;">Net income </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:right;margin:0pt 2.4pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:right;margin:0pt 2.4pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:right;margin:0pt 2.4pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:right;margin:0pt 2.4pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="Duration_1_1_2023_To_3_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_g_wEOy27YUOE8eQFhGsziQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NetIncomeLoss" scale="3" id="Tc_sM-zwfMeFECI1UQWWXQNIQ_6_11">135,870</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:right;margin:0pt 2.4pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:right;margin:0pt 2.4pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NetIncomeLoss" scale="3" id="Tc_qBkXa67W1UWv1ZSHG29_mg_6_17">135,870</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:30.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;margin:0pt;">Share-based compensation</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:right;margin:0pt 2.4pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:right;margin:0pt 2.4pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:right;margin:0pt 2.4pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="Duration_1_1_2023_To_3_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_y9ZrgkF20kS6r6S1z861IA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" scale="3" id="Tc_QQsrVmBUrECLjlykIgWgyA_7_8">3,135</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:right;margin:0pt 2.4pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.56%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:right;margin:0pt 2.4pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:right;margin:0pt 2.4pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" scale="3" id="Tc_yTzN5s6QJE2z1IQ23dKdzQ_7_17">3,135</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:30.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;margin:0pt;">Issuance of <ix:nonFraction unitRef="Unit_Standard_shares_eiECwuXP0kO6JM1Li4xT6g" contextRef="Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:StockIssuedDuringPeriodSharesRestrictedStockAwardGross" scale="0" id="Narr_90uPv6Z1JEijQw7aq7vt7w">95,012</ix:nonFraction> restricted share awards under long-term equity incentive plan</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:right;margin:0pt 2.4pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="Duration_1_1_2023_To_3_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_WKBbOPkAq0e7qMWBF4qifA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardGross" scale="3" id="Tc_xcSJi81QEk2Vom5in473HA_8_2">2</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:right;margin:0pt 2.4pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:right;margin:0pt 2.4pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:right;margin:0pt 2.4pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:right;margin:0pt 2.4pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:right;margin:0pt 2.4pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardGross" scale="3" id="Tc_bJOckRurW0a6GzMb29-jcQ_8_17">2</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:30.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;margin:0pt;"><ix:nonFraction unitRef="Unit_Standard_shares_eiECwuXP0kO6JM1Li4xT6g" contextRef="Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:SharesPaidForTaxWithholdingForShareBasedCompensation" scale="0" id="Narr_-YS_fy_yB0G7yYNIoX2B0w">32,594</ix:nonFraction> shares withheld to pay taxes on employees&#39; equity awards</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:right;margin:0pt 2.4pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="Duration_1_1_2023_To_3_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockCommonMember_LmJ5UGKSyEy_y5otnMnfug" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation" scale="3" id="Tc_pP6zqoYniUeqCHy1ONZIPQ_9_5">6,350</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:right;margin:0pt 2.4pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:right;margin:0pt 2.4pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.56%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:right;margin:0pt 2.4pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation" scale="3" id="Tc_hb431S1PB0CLeg69ZijI6A_9_17">6,350</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:30.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;margin:0pt;"><ix:nonFraction unitRef="Unit_Standard_shares_eiECwuXP0kO6JM1Li4xT6g" contextRef="Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised" scale="0" id="Narr_dDrx47Q7_UCTE1AZuK5IbA">28,840</ix:nonFraction> shares issued upon exercise of stock options</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:right;margin:0pt 2.4pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:right;margin:0pt 2.4pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:right;margin:0pt 2.4pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="Duration_1_1_2023_To_3_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_y9ZrgkF20kS6r6S1z861IA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised" scale="3" id="Tc_8OULhul2rEyoiS6dDYhWbw_10_8">1,028</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:right;margin:0pt 2.4pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:right;margin:0pt 2.4pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:right;margin:0pt 2.4pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised" scale="3" id="Tc_V4D6YW_BFkuHbIUXu2bgmA_10_17">1,028</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:30.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;margin:0pt;">Other comprehensive income, net of tax</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.35%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.03%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:right;margin:0pt 2.4pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.96%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:right;margin:0pt 2.4pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.96%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:right;margin:0pt 2.4pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.96%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:right;margin:0pt 2.4pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.56%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:right;margin:0pt 2.4pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="Duration_1_1_2023_To_3_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_AeIMe7p5lU-XYw7PaedL0A" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherComprehensiveIncomeLossNetOfTax" scale="3" id="Tc_HhQeJOvVwEyMoSo3yyr6UQ_11_14">1,753</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.92%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:right;margin:0pt 2.4pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherComprehensiveIncomeLossNetOfTax" scale="3" id="Tc_s_PjfCZvy0GVCU4G0cPltQ_11_17">1,753</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:30.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;margin:0pt;"><b style="font-weight:bold;">Balance at March 31, 2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.35%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:right;margin:0pt 2.4pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="As_Of_3_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_7jVY8WF-Xkav1ie7BJR1NA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquity" scale="3" id="Tc_-Kn_7SqW7U-OQH8T8ATzAg_12_2">395</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.96%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="As_Of_3_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockCommonMember_wPhW8rxqnE-envvxa0pjpQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquity" sign="-" scale="3" id="Tc_-KHa5Zu_akmp2-1HCtjKTQ_12_5">699,149</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.96%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:right;margin:0pt 2.4pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="As_Of_3_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_p0IFFl326kadCw4l87On1A" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquity" scale="3" id="Tc_TjlS-3II2kyf6U6Yi0lo8w_12_8">891,530</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.96%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:right;margin:0pt 2.4pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="As_Of_3_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_WvPQwD3k7UaZavqehpN7Yg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquity" scale="3" id="Tc_d_IOvdp1GEiwE4bcYdQq1Q_12_11">1,892,535</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.56%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="As_Of_3_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_qVYZQAsDJ0OVpCXrFAkkUg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquity" sign="-" scale="3" id="Tc_f7kN5IQCsUa5n-K4N2KVBQ_12_14">20,167</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:right;margin:0pt 2.4pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="As_Of_3_31_2023_if5iG1tra0aH_pegPPBopw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquity" scale="3" id="Tc_r2NBmoiIVkKNeQYwGhgWgA_12_17">2,065,144</ix:nonFraction></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:12pt 0pt 0pt 0pt;">See notes to our unaudited condensed consolidated financial statements.</p><p style="display:none;font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;line-height:0pt;margin:0pt;"><span style="font-size:0pt;line-height:1.19;visibility:hidden;">&#8203;</span></p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:12pt 0pt 0pt 0pt;">8</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:79.3%;border:0;margin:30pt 10.35% 30pt 10.35%;"></div><div style="max-width:100%;padding-left:10.35%;padding-right:10.35%;position:relative;"><div style="margin-top:21.6pt;min-height:41.75pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt 0pt 30pt 0pt;"><a href="#Toc"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">TOPBUILD CORP.</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">NOTES TO CONDENSED CONSOLIDATED FINANCIAL STATEMENTS</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></div><div style="clear:both;max-width:100%;position:relative;"><a id="ABASISOFPRESENTATION_126716"></a><ix:nonNumeric contextRef="Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA" name="us-gaap:BusinessDescriptionAndBasisOfPresentationTextBlock" id="Tb_Bw6ahkry40W6fZAWlOzVAw" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><b style="font-weight:bold;">1. &#160;BASIS OF PRESENTATION</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;">TopBuild was formed on June&#160;30,&#160;2015, and is listed on the NYSE under the ticker symbol &#8220;BLD.&#8221; &#160;We report our business in <ix:nonFraction unitRef="Unit_Standard_segment_HCZxDtsxZkOWPezqk_jBvQ" contextRef="Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA" decimals="INF" format="ixt-sec:numwordsen" name="us-gaap:NumberOfReportableSegments" scale="0" id="Narr_7vlagfTmr0SZa_oaBaI5mg">two</ix:nonFraction> segments: Installation and Specialty Distribution. &#160;Our Installation segment primarily installs insulation and other building products. &#160;Our Specialty Distribution segment primarily sells and distributes insulation and other building products. &#160;Our segments are based on our operating units, for which financial information is regularly evaluated by our chief operating decision maker.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;">We believe the accompanying unaudited condensed consolidated financial statements contain all adjustments, of a normal recurring nature, necessary to state fairly our financial position as of March 31, 2023, our results of operations, comprehensive income and cash flows for the three months ended March 31, 2023 and 2022.&#160;&#160;The condensed consolidated balance sheet at December&#160;31,&#160;2022 was derived from our audited financial statements, but does not include all disclosures required by GAAP.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;">These condensed consolidated financial statements and related notes should be read in conjunction with the audited Consolidated Financial Statements included in the Company&#8217;s Annual Report for the year ended December&#160;31,&#160;2022 as filed with the SEC on February 23, 2023.</p></ix:nonNumeric><ix:nonNumeric contextRef="Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA" name="us-gaap:SignificantAccountingPoliciesTextBlock" id="Tb_6GrNMGVfSUyMZ27EpfvI6Q" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="font-family:'TimesNewRoman';font-weight:bold;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><b style="font-family:'TimesNewRoman';font-weight:bold;">2. &#160;ACCOUNTING POLICIES</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="font-family:'TimesNewRoman';visibility:hidden;">&#8203;</span></p><ix:nonNumeric contextRef="Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA" name="us-gaap:BasisOfAccountingPolicyPolicyTextBlock" id="Tb_diWz4xfiUUSurVUob4alXg" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="font-family:'TimesNewRoman';font-style:italic;font-weight:bold;">Financial Statement Presentation.</span><span style="font-family:'TimesNewRoman';"> &#160;Our condensed consolidated financial statements have been developed in conformity with GAAP, which requires management to make estimates and assumptions. &#160;These estimates and assumptions affect the reported amounts of assets and liabilities and disclosures of contingent liabilities at the date of the financial statements, as well as the reported amounts of revenues and expenses during the reporting periods. &#160;Actual results could differ materially from these estimates. &#160;All intercompany transactions between TopBuild entities have been eliminated.</span></p></ix:nonNumeric><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="font-family:'TimesNewRoman';visibility:hidden;">&#8203;</span></p><ix:nonNumeric contextRef="Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA" name="us-gaap:NewAccountingPronouncementsPolicyPolicyTextBlock" id="Tb_3eGPUaQhLE6Ms17v3Xn70g" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="font-family:'TimesNewRoman';font-style:italic;font-weight:bold;">Recently Adopted Accounting Pronouncements</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="font-family:'TimesNewRoman';font-style:italic;font-weight:bold;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;">In October 2021, the FASB issued ASU 2021-08, &#8220;Accounting for Contract Assets and Contract Liabilities from Contracts with Customers&#8221;.&#160; This standard improves the accounting for acquired revenue contracts with customers in a business combination by addressing diversity in practice and inconsistency related to recognition of an acquired contract liability, as well as payment terms and their effect on subsequent revenue recognized by the acquirer.  This standard became effective for us on January 1, 2023, and did not have a material impact to our financial statements upon adoption.</p></ix:nonNumeric><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></ix:nonNumeric><ix:nonNumeric contextRef="Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA" name="us-gaap:RevenueFromContractWithCustomerTextBlock" id="Tb_7wyxm73LVk2uTiiGZgNSjg" continuedAt="Tb_7wyxm73LVk2uTiiGZgNSjg_cont1" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><b style="font-family:'TimesNewRomanPSMT';font-weight:bold;">3. &#160;REVENUE RECOGNITION</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;">Revenue is disaggregated between our Installation and Specialty Distribution segments and further <span style="font-family:'TimesNewRomanPSMT';">based on market and product, as we believe this best depicts how the nature, amount, timing, and uncertainty of revenue and cash flows are affected by economic factors.</span> &#160;</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></ix:nonNumeric></div><div style="clear:both;display:table;margin-bottom:30pt;min-height:0.35pt;width:100%;"><div style="display:table-cell;vertical-align:bottom;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:24pt 0pt 0pt 0pt;">9</p></div></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:79.3%;border:0;margin:30pt 10.35% 30pt 10.35%;"></div><div style="max-width:100%;padding-left:10.35%;padding-right:10.35%;position:relative;"><div style="margin-top:21.6pt;min-height:41.75pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt 0pt 30pt 0pt;"><a href="#Toc"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">TOPBUILD CORP.</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">NOTES TO CONDENSED CONSOLIDATED FINANCIAL STATEMENTS (Continued)</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></div><div style="clear:both;max-width:100%;position:relative;"><a id="_2d1008ca_e1c4_4c2b_a71e_d166d063f50d"></a><a id="Tc_ZvLio2camEmvd_v6XlnaRg_1_2"></a><a id="Tc_LdV8FGMgNk2QdQX5gis5Pw_2_2"></a><a id="Tc_k4bTGWVhR0iY9BXhoQR30w_2_14"></a><a id="Tc_DECR1eofQ06VXGGgbqmYrQ_3_3"></a><a id="Tc_0SIpFnUyuUGbjWIvByO7Ig_3_6"></a><a id="Tc_FmYPDXchBUmk-uvB2UsifA_3_9"></a><a id="Tc_1hemgcfyokiu-A1DLkdMOA_3_12"></a><a id="Tc_MhC4wb1UM0SCd4BXBXwJuA_3_15"></a><a id="Tc_RFg6YqSk70qnc7qWKEqH8g_3_18"></a><a id="Tc_6S27Xil_jUa4Zvf2Nhu2zQ_3_21"></a><a id="Tc_5LHw77ChTkuYbRmqkVJFFA_3_24"></a><a id="Tc_hzFSFeWsDEKxwkN2N9W03A_4_0"></a><a id="Tc_umCwP2WhYkyXZQUKW53qSg_4_2"></a><a id="Tc_1FUVHq8ffkySucFOaYN9XA_4_5"></a><a id="Tc__yS1YpPC2EO0s4E4GJbULA_4_8"></a><a id="Tc_C2vn19Do3EKamWdrU0B89Q_4_11"></a><a id="Tc_dwkP6oe30k2mpNTnWvCL5g_4_14"></a><a id="Tc_TEwcThAtLE29HcInI-Xxfw_4_17"></a><a id="Tc_l92wk2RZtEKXn1WBTfKq5g_4_20"></a><a id="Tc_GoAGs67kPE-C48feqRVJxg_4_23"></a><a id="Tc_IVNiRxH0aECOIrG5ecWFbw_5_0"></a><a id="Tc_c0jSyPSYl0qhDknivX2lCA_6_0"></a><a id="Tc_0VKzHtaKZ0KSAuvmUrEs6A_6_2"></a><a id="Tc_5Zng6CSAh0SzlfJTwK3tbA_6_5"></a><a id="Tc_NIK0L5Eh2E684Lk7Mv4gEQ_6_8"></a><a id="Tc_FOipKKloOEm3ep0CDY2eWA_6_11"></a><a id="Tc__dSFStj-c0iM37JOj9KPtA_6_14"></a><a id="Tc_UGlR8erjQkSiIAI8CdTiFw_6_17"></a><a id="Tc_-wN-2WnK_EOmZcDgKBszOA_6_20"></a><a id="Tc_uYfYYcXDpUuc9NYNKdF_2A_6_23"></a><a id="_3e1ce30c_e650_4097_b1f4_2f151d2ad484"></a><a id="Tc_o-bNNRX1fEi14HHbOOS3Ow_1_2"></a><a id="Tc_LYiiUsSoJ0S7fQ4gBd93QQ_2_2"></a><a id="Tc_EsURlNqTnUejgBRmamwNuw_2_14"></a><a id="Tc_xg1Auev8o0yM_o6-YuHPHQ_3_3"></a><a id="Tc_1CmjyIUwoUSpPhzHvHWV_g_3_6"></a><a id="Tc_JYMMPh720kG85UEfJu-6gA_3_9"></a><a id="Tc_u7Z6u7iIE0WNDcMbNbd6vg_3_12"></a><a id="Tc_dXK5XynS0U2f7Fwr5VO_7A_3_15"></a><a id="Tc_aINzFnk7YEK6NlLydSpeNw_3_18"></a><a id="Tc_XXYU2Yotg0KPhwn19F-W1g_3_21"></a><a id="Tc_Q0Q4LUBHNkepvQeAFGi61g_3_24"></a><a id="Tc__TegVfQwNEGhCZI6SIhkKQ_4_0"></a><a id="Tc_MSTLKa3RxECC02Z3j532ww_4_2"></a><a id="Tc_jmR15tyS8UmB84j-0t6bUg_4_5"></a><a id="Tc_3TDnZ4SrBU-oORMUQM9uCA_4_8"></a><a id="Tc_5sNuRqbwXU-L8e9W3ph9Uw_4_11"></a><a id="Tc_P92tRBjYEkqYne7IFDe1fw_4_14"></a><a id="Tc_XFoNqFB8_U2nbXLCiohsng_4_17"></a><a id="Tc_cFID3RtuG0Omohv0FA9Ylw_4_20"></a><a id="Tc_6GBG9XuXYkS6OOObWEXbpw_4_23"></a><a id="Tc_mHwD0zEI5EOenDH1odWc7Q_5_0"></a><a id="Tc_vMzPDlXUykalbC0mAkS_DA_5_6"></a><a id="Tc_G9vDTounnU62BwmTtkhN-A_5_9"></a><a id="Tc_NfCa0uF9tEGMGJTQbuXwyg_5_18"></a><a id="Tc_wp8qjrHy2EWW2ysa0zLH9A_5_21"></a><a id="Tc_HReRpGE630KzrbVDgf54Sg_6_0"></a><a id="Tc_O5RKWfRGHECDnVoljdbiqA_7_0"></a><a id="Tc_VaLCuZzTUEGJ0CxsUaX1iA_8_0"></a><a id="Tc_dlRYFMb1k0WJ7FjZHJMGQQ_8_2"></a><a id="Tc_XWHeghvSM0y7E-TvJBF6Nw_8_5"></a><a id="Tc_XGEMlnUgJEmifFMtVaEcIw_8_8"></a><a id="Tc_BSUiUNub-0q_axjU27HntQ_8_11"></a><a id="Tc_TfIjfveNVECFhx99hGyvmQ_8_14"></a><a id="Tc_72jSZ8KVOUKXGF0NKsDyaw_8_17"></a><a id="Tc_fEqDk468Q0KBYCew1lMRZQ_8_20"></a><a id="Tc_MGU3hDG9oUekxbQ74XUpnA_8_23"></a><a id="_079a0dd2_095f_4839_804e_a80e37be1059"></a><a id="Tc_2SpNUrDZAkSGTSpkAMpiGg_1_1"></a><a id="Tc_H_U5frgWeUenpvb1D5QQJA_1_3"></a><a id="Tc_N7wJIKkc8kuxEWmIgh8QyQ_2_1"></a><a id="Tc_zJlymUfylk-c6trgeb_BXA_2_3"></a><a id="Tc_mTS8deo690ik7gNhrUTThQ_2_6"></a><a id="Tc_MIGC4qdliEytsle-JgI6dw_3_1"></a><a id="Tc_Po3BMtT7wkeHhBGKGuQWDw_3_3"></a><a id="Tc_Xvk3Y9zY2Uy0wIyBi7WmMA_3_6"></a><a id="Tc__USfMRzPwUeTjNtIKSLZCA_4_0"></a><a id="Tc_3xiVe2VqHUuTNrSnvQI1tg_5_0"></a><a id="Tc_up0HlBy2AEeHselZHEhrhA_5_1"></a><a id="Tc_0_4zUrvSyEChF5hljI4FTQ_5_3"></a><a id="Tc_DwIr6WM4yEyYCc7CyYuNVQ_5_6"></a><a id="Tc_r5UVxM_UUU-_jqPFB8or3w_7_0"></a><a id="Tc_IGbC7nAz4kytbX4jyar7-Q_8_0"></a><a id="Tc_dbTUkc53Iky66jTEx3U0Nw_8_1"></a><a id="Tc_61FExRoHjUuutMctHs7uNA_8_3"></a><a id="Tc_6PGtRonfy02nWbwf3YixHg_8_6"></a><ix:continuation id="Tb_7wyxm73LVk2uTiiGZgNSjg_cont1"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="font-family:'TimesNewRomanPSMT';">The following table presents our revenues disaggregated by market (in thousands):</span></p><ix:nonNumeric contextRef="Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA" name="us-gaap:DisaggregationOfRevenueTableTextBlock" id="Tb_YAYmmpGGiUyNL1Ca96pNVw" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="font-family:'TimesNewRomanPSMT';visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;white-space:nowrap;width:16.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:9.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:9.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:16.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="23" style="vertical-align:bottom;white-space:nowrap;width:82.51%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Three Months Ended March&#160;31,&#160;</b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:16.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td colspan="11" style="vertical-align:bottom;white-space:nowrap;width:40.98%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="11" style="vertical-align:bottom;white-space:nowrap;width:41.02%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:16.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.57%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-size:8.5pt;font-weight:bold;">Installation</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:8.5pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8.5pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:9.14%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-size:8.5pt;font-weight:bold;">Specialty Distribution</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8.5pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8.5pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-size:8.5pt;font-weight:bold;">Eliminations</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8.5pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8.5pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.53%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-size:8.5pt;font-weight:bold;">Total</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8.5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8.5pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.58%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-size:8.5pt;font-weight:bold;">Installation</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:8.5pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8.5pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:9.14%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-size:8.5pt;font-weight:bold;">Specialty Distribution</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8.5pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8.5pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-size:8.5pt;font-weight:bold;">Eliminations</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8.5pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8.5pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-size:8.5pt;font-weight:bold;">Total</b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:16.79%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">Residential</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.69%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="Duration_1_1_2023_To_3_31_2023_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_srt_MajorCustomersAxis_bld_ResidentialMember_us-gaap_StatementBusinessSegmentsAxis_bld_InstallationSegmentMember_pYUq_of_y0SxcZdlaU8_Mw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="Tc_OnlY7-GFZ0uNMcjLfXa7Sw_4_3">645,703</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.14%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="Duration_1_1_2023_To_3_31_2023_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_srt_MajorCustomersAxis_bld_ResidentialMember_us-gaap_StatementBusinessSegmentsAxis_bld_DistributionSegmentMember_rCbAEpjGAEmYhiqgf9uh7A" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="Tc_aUeS1A1EZkqHMPKNjkMs1w_4_6">224,326</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="Duration_1_1_2023_To_3_31_2023_srt_ConsolidationItemsAxis_bld_EliminationsAndReconcilingItemsMember_srt_MajorCustomersAxis_bld_ResidentialMember_S4KNaqCrrkWQNZvrh9KDVA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" sign="-" scale="3" id="Tc_gNwiV9tZkEm7Jak0Amqw6Q_4_9">51,390</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="Duration_1_1_2023_To_3_31_2023_srt_MajorCustomersAxis_bld_ResidentialMember_5N41Eem5bEu5s4fKT46eEA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="Tc_SYktqKBt3EKWSNs341dh1A_4_12">818,639</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="Duration_1_1_2022_To_3_31_2022_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_srt_MajorCustomersAxis_bld_ResidentialMember_us-gaap_StatementBusinessSegmentsAxis_bld_InstallationSegmentMember_NFbyySvUPkCsJfUd-XqkiA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="Tc_xp4YJGN_d06NQiOPCx_VbQ_4_15">563,303</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.14%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="Duration_1_1_2022_To_3_31_2022_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_srt_MajorCustomersAxis_bld_ResidentialMember_us-gaap_StatementBusinessSegmentsAxis_bld_DistributionSegmentMember_lze11hWxMEi_fU2CVT-zkQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="Tc_1jXirFhlPUC1MugM_8ORTw_4_18">236,411</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="Duration_1_1_2022_To_3_31_2022_srt_ConsolidationItemsAxis_bld_EliminationsAndReconcilingItemsMember_srt_MajorCustomersAxis_bld_ResidentialMember_ydzOmEY-fk-yMuuMCfgUMg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" sign="-" scale="3" id="Tc_slKA7NTD0U2IqX3uPFvfmQ_4_21">43,421</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="Duration_1_1_2022_To_3_31_2022_srt_MajorCustomersAxis_bld_ResidentialMember_Ffpufus4TkuHFL9VfWYCpA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="Tc_gkf_fhgwq02c9xs_-2QYPQ_4_24">756,293</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:16.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">Commercial/Industrial</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.57%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="Duration_1_1_2023_To_3_31_2023_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_srt_MajorCustomersAxis_bld_CommercialAndIndustrialMember_us-gaap_StatementBusinessSegmentsAxis_bld_InstallationSegmentMember_l4jPlopJaE-gNKOSERSp0Q" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="Tc_h4Q1ASxpj0CUYbKXYNQgOg_5_3">121,387</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.14%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="Duration_1_1_2023_To_3_31_2023_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_srt_MajorCustomersAxis_bld_CommercialAndIndustrialMember_us-gaap_StatementBusinessSegmentsAxis_bld_DistributionSegmentMember_H_KoZsVa7E-ZHX4AAwaAlA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="Tc_AxB20yhKH0OAiWkPNMmaQg_5_6">334,049</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="Duration_1_1_2023_To_3_31_2023_srt_ConsolidationItemsAxis_bld_EliminationsAndReconcilingItemsMember_srt_MajorCustomersAxis_bld_CommercialAndIndustrialMember_l3TWrBp3HkWZ9bbqfhisyA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" sign="-" scale="3" id="Tc_YG7hrEt6zEqaiV8v_rTlzg_5_9">8,837</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.53%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="Duration_1_1_2023_To_3_31_2023_srt_MajorCustomersAxis_bld_CommercialAndIndustrialMember_2ltJXfAl4kOb_mE9BLsP7Q" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="Tc_6aoVjVNjr0esPSsUTcbkqQ_5_12">446,599</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.58%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="Duration_1_1_2022_To_3_31_2022_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_srt_MajorCustomersAxis_bld_CommercialAndIndustrialMember_us-gaap_StatementBusinessSegmentsAxis_bld_InstallationSegmentMember_aw4uv_k6I06yoaSPOa2KPA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="Tc_Yvc1VZ-R2kK-tzoIhGV-UA_5_15">113,390</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.14%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="Duration_1_1_2022_To_3_31_2022_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_srt_MajorCustomersAxis_bld_CommercialAndIndustrialMember_us-gaap_StatementBusinessSegmentsAxis_bld_DistributionSegmentMember_y2omgkBKmE-jk2I6gK5d_w" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="Tc_BCnWCDI9uEKRMTD4TTdGbg_5_18">307,451</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="Duration_1_1_2022_To_3_31_2022_srt_ConsolidationItemsAxis_bld_EliminationsAndReconcilingItemsMember_srt_MajorCustomersAxis_bld_CommercialAndIndustrialMember_Z08hTr-APkGnb1QEQOH7ig" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" sign="-" scale="3" id="Tc_T6gXwIGEK0Cs9Rjl-kHahA_5_21">8,216</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="Duration_1_1_2022_To_3_31_2022_srt_MajorCustomersAxis_bld_CommercialAndIndustrialMember_81zU0sk_KUmUaSYu8r0Ajw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="Tc_kXJT8_5S6kmDT3ipzZECSA_5_24">412,625</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:16.79%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt 0pt 0pt 6pt;"><span style="white-space:pre-wrap;">   Net sales</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.69%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.57%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="Duration_1_1_2023_To_3_31_2023_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_bld_InstallationSegmentMember_p7381by8A0iuH_K9pq6dkA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="Tc_KNOvIB2br0m12Gfp601-kQ_6_3">767,090</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.14%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="Duration_1_1_2023_To_3_31_2023_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_bld_DistributionSegmentMember_npMAeLxndk2Y3vlwNf6M1Q" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="Tc_N-5F0mxP1UW6FcMiOERQSw_6_6">558,375</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.54%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="Duration_1_1_2023_To_3_31_2023_srt_ConsolidationItemsAxis_bld_EliminationsAndReconcilingItemsMember_xw6hySBBTUaxt494YNJgiw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" sign="-" scale="3" id="Tc_dvWLjF8pOkCj_sJoHlFEwA_6_9">60,227</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.53%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="Tc_luazpjAguEOm9FVCHgEhCQ_6_12">1,265,238</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.58%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="Duration_1_1_2022_To_3_31_2022_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_bld_InstallationSegmentMember_P5TLAe2eDUmNeH4h43zM0A" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="Tc_MAPrYmvc50CQYY5CKaTzrQ_6_15">676,693</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.14%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="Duration_1_1_2022_To_3_31_2022_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_bld_DistributionSegmentMember_a9OaAUHgnEO4Vuy42sZdWA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="Tc_Rt042tQZVEieIK4R7_X0JQ_6_18">543,862</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.54%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="Duration_1_1_2022_To_3_31_2022_srt_ConsolidationItemsAxis_bld_EliminationsAndReconcilingItemsMember_ebPp6BUowk-vYsFfG3_Cew" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" sign="-" scale="3" id="Tc_p_L178PonE2A7pKEhnuL_w_6_21">51,637</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="Duration_1_1_2022_To_3_31_2022_6vn3vE91T0CiaH7EkBeDAw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="Tc_65vzMxd_PEaVLPE7dEW__Q_6_24">1,168,918</ix:nonFraction></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="font-family:'TimesNewRomanPSMT';visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="font-family:'TimesNewRomanPSMT';">The following table presents our revenues disaggregated by product (in thousands):</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="font-family:'TimesNewRomanPSMT';visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;white-space:nowrap;width:19.36%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:0.7%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.07%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:0.06%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;width:9.14%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:0.06%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.54%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:0.06%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.54%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:0.06%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.57%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:0.06%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;width:9.14%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:0.06%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.54%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:0.06%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.51%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:19.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="23" style="vertical-align:bottom;white-space:nowrap;width:79.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Three Months Ended March&#160;31,&#160;</b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:19.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td colspan="11" style="vertical-align:bottom;white-space:nowrap;width:40.2%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="11" style="vertical-align:bottom;white-space:nowrap;width:39.66%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:19.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.07%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-size:8.5pt;font-weight:bold;">Installation</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:8.5pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8.5pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:9.14%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-size:8.5pt;font-weight:bold;">Specialty Distribution</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:8.5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:8.5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-size:8.5pt;font-weight:bold;">Eliminations</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:8.5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:8.5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-size:8.5pt;font-weight:bold;">Total</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8.5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8.5pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.57%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-size:8.5pt;font-weight:bold;">Installation</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:8.5pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8.5pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:9.14%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-size:8.5pt;font-weight:bold;">Specialty Distribution</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:8.5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:8.5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-size:8.5pt;font-weight:bold;">Eliminations</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:8.5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:8.5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.51%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-size:8.5pt;font-weight:bold;">Total</b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:19.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">Insulation and accessories</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.07%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="Duration_1_1_2023_To_3_31_2023_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_srt_ProductOrServiceAxis_bld_InsulationAndAccessoriesMember_us-gaap_StatementBusinessSegmentsAxis_bld_InstallationSegmentMember_ls0M8rPlDkiOjefb6yS8wg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="Tc_6OObhu2FM0eyBSszxXL1BQ_4_3">600,767</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.14%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="Duration_1_1_2023_To_3_31_2023_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_srt_ProductOrServiceAxis_bld_InsulationAndAccessoriesMember_us-gaap_StatementBusinessSegmentsAxis_bld_DistributionSegmentMember_vAFdzEmuE0Sqn-v0fbhXwg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="Tc_9VYtpZIoC0KkrsLcc3CIfw_4_6">502,802</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="Duration_1_1_2023_To_3_31_2023_srt_ConsolidationItemsAxis_bld_EliminationsAndReconcilingItemsMember_srt_ProductOrServiceAxis_bld_InsulationAndAccessoriesMember_E7gatzAIu0ey-mxgIBiUlw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" sign="-" scale="3" id="Tc_eyW5yyAneUm4I8UBm1xsqw_4_9">51,973</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="Duration_1_1_2023_To_3_31_2023_srt_ProductOrServiceAxis_bld_InsulationAndAccessoriesMember_L5LZUP6RMEGnhSJNnaUp1A" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="Tc_eHjXPOSbm0esuRQhwMKtLA_4_12">1,051,596</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="Duration_1_1_2022_To_3_31_2022_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_srt_ProductOrServiceAxis_bld_InsulationAndAccessoriesMember_us-gaap_StatementBusinessSegmentsAxis_bld_InstallationSegmentMember_QReZvRj-hU-I3P_KcWapzg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="Tc_fbXQLLtubkyp0Oqd6lmrnw_4_15">536,341</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.14%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="Duration_1_1_2022_To_3_31_2022_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_srt_ProductOrServiceAxis_bld_InsulationAndAccessoriesMember_us-gaap_StatementBusinessSegmentsAxis_bld_DistributionSegmentMember_k5s7Ov2MNkOrjMg3RtUbKA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="Tc_HjJf8MyJ1kaEv49LYLVwnw_4_18">479,760</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="Duration_1_1_2022_To_3_31_2022_srt_ConsolidationItemsAxis_bld_EliminationsAndReconcilingItemsMember_srt_ProductOrServiceAxis_bld_InsulationAndAccessoriesMember_9TA4C2yswUq_MhmHylURnQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" sign="-" scale="3" id="Tc_aWLIEPyynk2EB5OnMor5xQ_4_21">43,810</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="Duration_1_1_2022_To_3_31_2022_srt_ProductOrServiceAxis_bld_InsulationAndAccessoriesMember_zKriEKongU6nXLrngCbm0A" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="Tc_QyljAbReV0iDONQVSfzKsQ_4_24">972,291</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:19.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">Glass and windows</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="Duration_1_1_2023_To_3_31_2023_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_srt_ProductOrServiceAxis_bld_GlassAndWindowsMember_us-gaap_StatementBusinessSegmentsAxis_bld_InstallationSegmentMember_m6HhV_9kBky5WNYd6Rdmiw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="Tc_w11x98Jm_02ON05Kpw1Dhw_5_3">63,442</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="font-family:'Arial','Helvetica','sans-serif';"> -</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="Duration_1_1_2023_To_3_31_2023_srt_ProductOrServiceAxis_bld_GlassAndWindowsMember_cntT6-h4SE-cLpqU3KXwsw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="Tc_hH8TKiE4tU28bjJZs-WfAQ_5_12">63,442</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="Duration_1_1_2022_To_3_31_2022_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_srt_ProductOrServiceAxis_bld_GlassAndWindowsMember_us-gaap_StatementBusinessSegmentsAxis_bld_InstallationSegmentMember_pKvFAuIKkkqeJMhSaaVq9A" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="Tc_My3InUaxgECBgYFLOCW_yQ_5_15">51,196</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="font-family:'Arial','Helvetica','sans-serif';"> -</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="font-family:'Arial','Helvetica','sans-serif';"> -</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="Duration_1_1_2022_To_3_31_2022_srt_ProductOrServiceAxis_bld_GlassAndWindowsMember_cPIg16c4T0uxKhIbAzLcOQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="Tc_nCBWsuDMS0GDbySKkRpV0Q_5_24">51,196</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:19.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">Gutters</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.07%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="Duration_1_1_2023_To_3_31_2023_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_srt_ProductOrServiceAxis_bld_RainGuttersMember_us-gaap_StatementBusinessSegmentsAxis_bld_InstallationSegmentMember_S5g4dfB2OUGxXfT_s7Ahpg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="Tc_t_3gWkuxhUKU5QKU5e8-UQ_6_3">28,278</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.14%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="Duration_1_1_2023_To_3_31_2023_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_srt_ProductOrServiceAxis_bld_RainGuttersMember_us-gaap_StatementBusinessSegmentsAxis_bld_DistributionSegmentMember_VRZZXok16US1qjAj47aghA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="Tc_ra9_6f04mESNdBHVhDkCIA_6_6">39,842</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="Duration_1_1_2023_To_3_31_2023_srt_ConsolidationItemsAxis_bld_EliminationsAndReconcilingItemsMember_srt_ProductOrServiceAxis_bld_RainGuttersMember_-d9sxYyMYk-7pj_qAs_wRg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" sign="-" scale="3" id="Tc_ziRi0wrW6EqWkoIlUYGSew_6_9">7,165</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="Duration_1_1_2023_To_3_31_2023_srt_ProductOrServiceAxis_bld_RainGuttersMember_8e6JKrlvp0OLdro1HOHeDA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="Tc_ARDsyce2UUe0wcqwaxL68w_6_12">60,955</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="Duration_1_1_2022_To_3_31_2022_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_srt_ProductOrServiceAxis_bld_RainGuttersMember_us-gaap_StatementBusinessSegmentsAxis_bld_InstallationSegmentMember_iPBtGyRvK0-AFg1CyvjKYg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="Tc_HJO1NVPek0i35aY-dXmbQA_6_15">22,957</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.14%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="Duration_1_1_2022_To_3_31_2022_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_srt_ProductOrServiceAxis_bld_RainGuttersMember_us-gaap_StatementBusinessSegmentsAxis_bld_DistributionSegmentMember_Ek2F0THkAk-RTj7FVRH4DQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="Tc_pk4O3zbez0-Lhyem_vu-4w_6_18">46,631</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="Duration_1_1_2022_To_3_31_2022_srt_ConsolidationItemsAxis_bld_EliminationsAndReconcilingItemsMember_srt_ProductOrServiceAxis_bld_RainGuttersMember_ga29bOwVn0SpCfIv5Zyn2g" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" sign="-" scale="3" id="Tc_7vGkEYo4yEeq6MyEwdkZhw_6_21">7,002</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="Duration_1_1_2022_To_3_31_2022_srt_ProductOrServiceAxis_bld_RainGuttersMember_o9PUXKrBikSA4fF9MpRzyw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="Tc_5avwl6Cmq0WYBRvdUgolwA_6_24">62,586</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:19.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">All other</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.07%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="Duration_1_1_2023_To_3_31_2023_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_srt_ProductOrServiceAxis_bld_AllOtherProductsMember_us-gaap_StatementBusinessSegmentsAxis_bld_InstallationSegmentMember_aTlmtepgD06zikbyhK_MLA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="Tc_qGdHDfFR70CBEZ1M9bUHdg_7_3">74,603</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.14%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="Duration_1_1_2023_To_3_31_2023_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_srt_ProductOrServiceAxis_bld_AllOtherProductsMember_us-gaap_StatementBusinessSegmentsAxis_bld_DistributionSegmentMember_sYDxsSBhtEGWo1QAuLjHfg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="Tc__yuFwmpWkUG301yczUy3Hg_7_6">15,731</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="Duration_1_1_2023_To_3_31_2023_srt_ConsolidationItemsAxis_bld_EliminationsAndReconcilingItemsMember_srt_ProductOrServiceAxis_bld_AllOtherProductsMember_HcDaop6gVUGdBVT3S3ZBhQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" sign="-" scale="3" id="Tc_KWNsr1FC90av2sqGqpIKgA_7_9">1,089</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="Duration_1_1_2023_To_3_31_2023_srt_ProductOrServiceAxis_bld_AllOtherProductsMember_jJ2egjp9UUiJ-j3WTIZqgA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="Tc_Wtj_jrADykq_jNIxi_bGmg_7_12">89,245</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.57%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="Duration_1_1_2022_To_3_31_2022_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_srt_ProductOrServiceAxis_bld_AllOtherProductsMember_us-gaap_StatementBusinessSegmentsAxis_bld_InstallationSegmentMember_zfYn5aLYMUyQD4u_hnEL4A" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="Tc_Vedmg9G_mk2ikai0ikRkkg_7_15">66,199</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.14%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="Duration_1_1_2022_To_3_31_2022_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_srt_ProductOrServiceAxis_bld_AllOtherProductsMember_us-gaap_StatementBusinessSegmentsAxis_bld_DistributionSegmentMember_REyE7sf8pUaefnGqFfBj_Q" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="Tc_peGQoiYdSE6TC8Kwk0cQOQ_7_18">17,471</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="Duration_1_1_2022_To_3_31_2022_srt_ConsolidationItemsAxis_bld_EliminationsAndReconcilingItemsMember_srt_ProductOrServiceAxis_bld_AllOtherProductsMember_fWytx25M-kuxwriuez2Iow" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" sign="-" scale="3" id="Tc_qJTrLn01Tki8qQkMAO3WwQ_7_21">825</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.51%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="Duration_1_1_2022_To_3_31_2022_srt_ProductOrServiceAxis_bld_AllOtherProductsMember_ZQ4WTqe_7EmxkByY0n2bGA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="Tc_6ENoSwX8d0WYGVN-d0WEAw_7_24">82,845</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:19.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"><span style="white-space:pre-wrap;">        Net sales</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.07%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="Duration_1_1_2023_To_3_31_2023_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_bld_InstallationSegmentMember_p7381by8A0iuH_K9pq6dkA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="Tc_h-KNNur6nkaDaqOPCFVi8A_8_3">767,090</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.14%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="Duration_1_1_2023_To_3_31_2023_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_bld_DistributionSegmentMember_npMAeLxndk2Y3vlwNf6M1Q" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="Tc_OkGK1Fws40SzcwJPHo80Qg_8_6">558,375</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.54%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="Duration_1_1_2023_To_3_31_2023_srt_ConsolidationItemsAxis_bld_EliminationsAndReconcilingItemsMember_xw6hySBBTUaxt494YNJgiw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" sign="-" scale="3" id="Tc_UB589TanbUWzJAeVY5fzoA_8_9">60,227</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.54%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="Tc_5hSbDVwfs0iBGQEd4Y8j7g_8_12">1,265,238</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.57%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="Duration_1_1_2022_To_3_31_2022_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_bld_InstallationSegmentMember_P5TLAe2eDUmNeH4h43zM0A" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="Tc_S3u6Fl_Ll0GdzTVplDSDYw_8_15">676,693</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.14%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="Duration_1_1_2022_To_3_31_2022_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_bld_DistributionSegmentMember_a9OaAUHgnEO4Vuy42sZdWA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="Tc_tBf_o8mwokqVZ1JNyJzHrw_8_18">543,862</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.54%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="Duration_1_1_2022_To_3_31_2022_srt_ConsolidationItemsAxis_bld_EliminationsAndReconcilingItemsMember_ebPp6BUowk-vYsFfG3_Cew" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" sign="-" scale="3" id="Tc_3xnmtQXdBE2NkVtUcQtl6A_8_21">51,637</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.51%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="Duration_1_1_2022_To_3_31_2022_6vn3vE91T0CiaH7EkBeDAw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="Tc_nGwThn8ehkq-DBj3Ttav4w_8_24">1,168,918</ix:nonFraction></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="font-family:'TimesNewRomanPSMT';visibility:hidden;">&#8203;</span></p></ix:nonNumeric><ix:nonNumeric contextRef="Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA" name="us-gaap:ContractWithCustomerAssetAndLiabilityTableTextBlock" id="Tb_t-tDW3bvvUa0C5JukiFE4Q" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;">The following table represents our contract assets and contract liabilities with customers, in thousands:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;white-space:nowrap;width:34.66%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:34.66%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.26%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.3%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:34.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:34.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Included in Line Item on</b></p></td><td style="vertical-align:bottom;width:1.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:29.13%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">As of </b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:34.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:34.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Condensed Consolidated</b></p></td><td style="vertical-align:bottom;width:1.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">March&#160;31,&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">December&#160;31,&#160;</b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:34.66%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:34.66%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Balance Sheets</b></p></td><td style="vertical-align:bottom;width:1.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.78%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.82%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:34.66%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">Contract Assets:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:34.66%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:34.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;">Receivables, unbilled</p></td><td style="vertical-align:bottom;white-space:nowrap;width:34.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;">Receivables, net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="As_Of_3_31_2023_us-gaap_BalanceSheetLocationAxis_bld_ReceivablesNetMember_8cEgtfuIgE2dSs8eHeX7rw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ContractWithCustomerAssetNetCurrent" scale="3" id="Tc_JQYYxQG0N0SEKGzdp0vrgQ_5_4">78,034</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="As_Of_12_31_2022_us-gaap_BalanceSheetLocationAxis_bld_ReceivablesNetMember_gEHjoQLLCUeBknQu80_2JA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ContractWithCustomerAssetNetCurrent" scale="3" id="Tc_txUXIq08Y0ioQNdAH0Kj8Q_5_7">75,481</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:34.66%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:34.66%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:34.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">Contract Liabilities:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:34.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:34.66%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;">Deferred revenue</p></td><td style="vertical-align:bottom;white-space:nowrap;width:34.66%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;">Accrued liabilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="As_Of_3_31_2023_us-gaap_BalanceSheetLocationAxis_us-gaap_AccruedLiabilitiesMember_YtTS19248ECVOj5oYwZIvw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ContractWithCustomerLiabilityCurrent" scale="3" id="Tc_Nd1EBbyH60yB2L97_pPFog_8_4">20,738</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="As_Of_12_31_2022_us-gaap_BalanceSheetLocationAxis_us-gaap_AccruedLiabilitiesMember_fbKXh7_lZ0Wz_E4UrRbZJw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ContractWithCustomerLiabilityCurrent" scale="3" id="Tc_NmyqImnb4UiNJ5Vi--_Fyw_8_7">21,940</ix:nonFraction></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></ix:nonNumeric><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="font-family:'TimesNewRomanPSMT';">The aggregate amount remaining on uncompleted performance obligations was </span><span style="font-family:'TimesNewRomanPSMT';">$<ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="As_Of_3_31_2023_if5iG1tra0aH_pegPPBopw" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:RevenueRemainingPerformanceObligation" scale="6" id="Narr_kt0n6lHyhEyN6DHXvc9NJw">395.5</ix:nonFraction></span><span style="font-family:'TimesNewRomanPSMT';"> million as of March 31, 2023. We expect to satisfy the performance obligations and recognize revenue on substantially all of these uncompleted contracts </span><ix:nonNumeric contextRef="Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA" name="us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionExplanation" id="Narr_OceJh7ZlPkCXdXD3n7JVMA"><span style="font-family:'TimesNewRomanPSMT';">over the next 18 months</span></ix:nonNumeric><span style="font-family:'TimesNewRomanPSMT';">.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="font-family:'TimesNewRomanPSMT';visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="font-family:'TimesNewRomanPSMT';">On certain of our long-term contracts, a percentage of the total project cost is withheld and not invoiced to the customer and collected until satisfactory completion of the customer</span><span style="font-family:'Calibri','Helvetica','sans-serif';">&#8217;</span><span style="font-family:'TimesNewRomanPSMT';">s project, typically within a year. &#160;This amount is referred to as retainage and is common practice in the construction industry. &#160;</span>Retainage receivables are classified as a component of Receivables, net on our condensed consolidated balance sheets and were $<ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="As_Of_3_31_2023_us-gaap_BalanceSheetLocationAxis_bld_ReceivablesNetMember_8cEgtfuIgE2dSs8eHeX7rw" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:ConstructionContractorReceivableRetainage" scale="6" id="Narr_M06nZsGlvEaXU7uFP0AjdA">66.7</ix:nonFraction> million and $<ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="As_Of_12_31_2022_us-gaap_BalanceSheetLocationAxis_bld_ReceivablesNetMember_gEHjoQLLCUeBknQu80_2JA" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:ConstructionContractorReceivableRetainage" scale="6" id="Narr_AC2-GWhqs0Gxim1nvRJ-GQ">63.0</ix:nonFraction> million as of March 31, 2023 and December 31, 2022, respectively.</p></ix:continuation><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p><a id="_Hlk109820654"></a><a id="d3e12760-109265__SL6312542-109265"></a><ix:nonNumeric contextRef="Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA" name="us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock" id="Tb_1IAB4haKrkeBPhIhVu5UuQ" continuedAt="Tb_1IAB4haKrkeBPhIhVu5UuQ_cont1" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><b style="font-weight:bold;">4. &#160;GOODWILL AND OTHER INTANGIBLES</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;">We have <ix:nonFraction unitRef="Unit_Standard_item_GJgK42ZUUEmNd0DcF3veSw" contextRef="Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA" decimals="INF" format="ixt-sec:numwordsen" name="us-gaap:NumberOfReportingUnits" scale="0" id="Narr_vAf7C1IPpEa6mOvPbB4Dqg">two</ix:nonFraction> reporting units which are also our operating and reporting segments: Installation and Specialty Distribution. Both reporting units contain goodwill. Assets acquired and liabilities assumed are assigned to the applicable reporting unit based on whether the acquired assets and liabilities relate to the operations of and determination of the fair value of such unit. &#160;Goodwill assigned to the reporting unit is the excess of the fair value of the acquired business&#160;over the fair value of the individual assets acquired and liabilities assumed for the reporting unit.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;">In the fourth quarter of 2022, we performed an annual assessment on our goodwill resulting in <ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="Duration_10_1_2022_To_12_31_2022_jfm3OEh2x0KwHgbOrODRyQ" decimals="-3" format="ixt-sec:numwordsen" name="us-gaap:GoodwillImpairmentLoss" scale="3" id="Narr_1xJvfB0NkEW_yH9ZQ1ytbw">no</ix:nonFraction> impairment and there were no indicators of impairment for the three months ended March 31, 2023.</p></ix:nonNumeric></div><div style="clear:both;display:table;margin-bottom:30pt;min-height:0.35pt;width:100%;"><div style="display:table-cell;vertical-align:bottom;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:12pt 0pt 0pt 0pt;">10</p></div></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:79.3%;border:0;margin:30pt 10.35% 30pt 10.35%;"></div><div style="max-width:100%;padding-left:10.35%;padding-right:10.35%;position:relative;"><div style="margin-top:21.6pt;min-height:41.75pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt 0pt 30pt 0pt;"><a href="#Toc"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">TOPBUILD CORP.</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">NOTES TO CONDENSED CONSOLIDATED FINANCIAL STATEMENTS (Continued)</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></div><div style="clear:both;max-width:100%;position:relative;"><a id="_a80524e8_74d4_4a70_883c_51bbd2eff22c"></a><a id="Tc_WuIDIT-GEEiXDQTWNtsJHw_1_14"></a><a id="Tc_Zjk_eksBl0a6Yoaqc-HB6A_2_2"></a><a id="Tc_vB1RK9NsV0uz0mLwH1wsFQ_2_8"></a><a id="Tc_93A9F2D02kuWFi2G_kEnvg_2_11"></a><a id="Tc_MWZ0UO4_r0-S3B_iZqQVxQ_2_14"></a><a id="Tc_Q81PAtIFU0iGvU-OeZFDrw_2_17"></a><a id="Tc__AIDBgUEv0G7QkZwAlMDBw_3_2"></a><a id="Tc_VjoPvm6RR0ypjhyUfr5ivQ_3_5"></a><a id="Tc_PWT7unMkeE2ZGJ0sWKN1ZQ_3_8"></a><a id="Tc_Fqyjkh-Vz0uk-Tbyq2UNzw_3_11"></a><a id="Tc_gC2_MLZSG066TZIKDhGJnQ_3_14"></a><a id="Tc_BH6gK_qc-EKzTUhwryDAEg_3_17"></a><a id="Tc_liDaP9mF-EKm2kYGTlK_Lg_4_0"></a><a id="Tc_dmNxFfXEgUWN1u5CCnokdw_5_0"></a><a id="Tc_ih5nOhiOxEar1MSK1YA1Vg_5_2"></a><a id="Tc_8G7MBHvGmES8bczz_xE3gA_5_5"></a><a id="Tc_Xcb8oMNMl0SVKOuQhx1thA_5_8"></a><a id="Tc_PfK0ie_m70K-AfDyRrLmSQ_5_9"></a><a id="Tc_brVnZlUqgUiD1Mcbe-PS1Q_5_11"></a><a id="Tc_7e-L61jLakG67YGDoxf0tg_5_14"></a><a id="Tc_EJyIl3Lwk0uPON4-HHipeg_5_17"></a><a id="Tc_iXEUNogYEEOYGoFMMIbCkA_6_0"></a><a id="Tc_leu-jqM9s0WBtgMhO6Cugw_6_6"></a><a id="Tc_r3zaaieDvEKPlNXHOaz-3A_6_15"></a><a id="Tc_8CXPmUbfi0K8f_H5xOPOWw_7_0"></a><a id="Tc_cue9XrkOdUm_n_0vfWuOgA_7_2"></a><a id="Tc_1Q3sF5pTy0OuYrbhA6pTRw_7_5"></a><a id="Tc_5lnHx-MOmEuJFHMkL8KMkA_7_8"></a><a id="Tc_KY1egJ7MV0y6aK3q9yXsAQ_7_11"></a><a id="Tc_nYRUN4kRb0u-znrQIbSCeA_7_14"></a><a id="Tc_vI3bTDhB6UaQfymx7boEBw_7_17"></a><a id="_9e1b08be_6123_47b2_b974_d7c09edc33ea"></a><a id="Tc_0xNfoUSL4keCQn6kedf6uw_1_2"></a><a id="Tc_V0b-n7BbUk-yWnFo_8AyKw_2_2"></a><a id="Tc_9KOFgUaRkECeJBtsiZfnvA_2_5"></a><a id="Tc_tvhRhh3Y3EKcb03NsLNiiQ_3_0"></a><a id="Tc_vpOyDJ63Ok2QmKoLuF8gRA_3_2"></a><a id="Tc_kqESrE9lwkOgFLjSIRUb8g_3_5"></a><a id="Tc_k0sUXOYnlE-sQptVWhKTBQ_4_0"></a><a id="Tc_Tx9BRQdaukKKep6-eoAQSw_5_0"></a><a id="Tc_oz8wO7BuAkqs02V1UsT_og_5_2"></a><a id="Tc_LTidasc8FEWKhDU0f8BmRQ_5_5"></a><a id="_d970bdae_f7b9_4c45_a15f_763a4d3e573d"></a><a id="Tc_cySuYCfOmkmF07PWj-Mx1A_1_2"></a><a id="Tc_J9QHlywhVUy2qbozMi-nvg_2_2"></a><a id="Tc_OA7YM1kt80epKKWRU4fq_g_2_5"></a><a id="Tc_9S04ClS01UimEhRCxV4Yjg_3_0"></a><a id="Tc_CQaYbE5UCkuT0A5Rmbiz9g_3_2"></a><a id="Tc_MEBy0SNDr0-xyJyednKCkA_3_5"></a><ix:continuation id="Tb_1IAB4haKrkeBPhIhVu5UuQ_cont1"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="visibility:hidden;background:#ffff00;">&#8203;</span></p><ix:nonNumeric contextRef="Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA" name="us-gaap:ScheduleOfGoodwillTextBlock" id="Tb_E-VN6TpYi0e6XPEZ4Aq9Eg" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;">Changes in the carrying amount of goodwill for three months ended March 31, 2023, by segment, were as follows, in thousands:</p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:13.08%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;width:2.08%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.56%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.43%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;width:2.08%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.23%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.05%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;width:2.08%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;width:1.38%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;width:1.04%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.26%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;width:2.08%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.38%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;width:2.08%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.11%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:13.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"><b style="font-family:'Arial','Helvetica','sans-serif';font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"><b style="font-family:'Arial','Helvetica','sans-serif';font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"><b style="font-family:'Arial','Helvetica','sans-serif';font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:1.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-family:'Arial','Helvetica','sans-serif';font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"><b style="font-family:'Arial','Helvetica','sans-serif';font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;Accumulated&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"><b style="font-family:'Arial','Helvetica','sans-serif';font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:13.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Gross&#160;Goodwill</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;width:8.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Fx Translation</b></p></td><td style="vertical-align:bottom;width:1.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Gross&#160;Goodwill</b></p></td><td style="vertical-align:bottom;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Impairment</b></p></td><td style="vertical-align:bottom;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Net&#160;Goodwill</b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:13.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">December&#160;31,&#160;2022</b></p></td><td style="vertical-align:bottom;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.29%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Additions</b></p></td><td style="vertical-align:bottom;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Adjustment</b></p></td><td style="vertical-align:bottom;width:1.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.53%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">March&#160;31,&#160;2023</b></p></td><td style="vertical-align:bottom;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.32%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Losses</b></p></td><td style="vertical-align:bottom;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.39%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">March&#160;31,&#160;2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:13.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">Goodwill, by segment:</p></td><td style="vertical-align:bottom;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.56%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.43%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.23%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:1.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:1.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:13.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;">Installation</p></td><td style="vertical-align:bottom;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="As_Of_12_31_2022_us-gaap_StatementBusinessSegmentsAxis_bld_InstallationSegmentMember_ogEtAVcqp0aGFLw3VsnIQQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:GoodwillGross" scale="3" id="Tc_F76KxogNmEC8modaFUlIdA_5_3">1,826,979</ix:nonFraction></p></td><td style="vertical-align:bottom;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="Duration_1_1_2023_To_3_31_2023_us-gaap_StatementBusinessSegmentsAxis_bld_InstallationSegmentMember_LSg-I_e7e0eU_UM9eCLOVg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:GoodwillPeriodIncreaseDecrease" scale="3" id="Tc_MI3IJpl8VE2GCF9RgcZw4A_5_6">25,384</ix:nonFraction></p></td><td style="vertical-align:bottom;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;width:1.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="As_Of_3_31_2023_us-gaap_StatementBusinessSegmentsAxis_bld_InstallationSegmentMember_vPQxpqKcL0m10SFQKEyjIg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:GoodwillGross" scale="3" id="Tc_D5XJ2-YY9kiOJ105NlPxag_5_12">1,852,363</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="As_Of_3_31_2023_us-gaap_StatementBusinessSegmentsAxis_bld_InstallationSegmentMember_vPQxpqKcL0m10SFQKEyjIg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:GoodwillImpairedAccumulatedImpairmentLoss" scale="3" id="Tc_3M-LwC9HvEGNFMafLzUrZA_5_15">762,021</ix:nonFraction>)</p></td><td style="vertical-align:bottom;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="As_Of_3_31_2023_us-gaap_StatementBusinessSegmentsAxis_bld_InstallationSegmentMember_vPQxpqKcL0m10SFQKEyjIg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:Goodwill" scale="3" id="Tc_9qGM8444-k-D_9x-r6TPlA_5_18">1,090,342</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:13.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;">Specialty Distribution</p></td><td style="vertical-align:bottom;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.56%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.43%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="As_Of_12_31_2022_us-gaap_StatementBusinessSegmentsAxis_bld_DistributionSegmentMember_DO7bpAz7EUGawl7o6a19Iw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:GoodwillGross" scale="3" id="Tc_QZLA7sQ9yUqhgbAB6HcHdA_6_3">902,036</ix:nonFraction></p></td><td style="vertical-align:bottom;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.23%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.05%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:1.38%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="Duration_1_1_2023_To_3_31_2023_us-gaap_StatementBusinessSegmentsAxis_bld_DistributionSegmentMember_mqy8JDX5XUmTtMIA3VlKgw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:GoodwillForeignCurrencyTranslationGainLoss" scale="3" id="Tc_lhRSC8Xr9k-MnmQ4Pprj0g_6_9">16</ix:nonFraction></p></td><td style="vertical-align:bottom;width:1.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.26%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="As_Of_3_31_2023_us-gaap_StatementBusinessSegmentsAxis_bld_DistributionSegmentMember_Bg3lQcXgdk6c3ZO8up_n_g" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:GoodwillGross" scale="3" id="Tc_2LHhCxbAzkGVk5P1b-Bf7Q_6_12">902,052</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.38%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.11%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="As_Of_3_31_2023_us-gaap_StatementBusinessSegmentsAxis_bld_DistributionSegmentMember_Bg3lQcXgdk6c3ZO8up_n_g" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:Goodwill" scale="3" id="Tc_GTyfgisw4kO5FhvTql3NGQ_6_18">902,052</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:13.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">Total goodwill</p></td><td style="vertical-align:bottom;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;"><span style="font-size:9pt;margin-left:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.56%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.43%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="As_Of_12_31_2022_3M6K0OeVvUOHwft-0BiHjg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:GoodwillGross" scale="3" id="Tc_tmxemvYIKk6M6beuZQhkVg_7_3">2,729,015</ix:nonFraction></p></td><td style="vertical-align:bottom;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;"><span style="font-size:9pt;margin-left:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.23%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.05%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:GoodwillPeriodIncreaseDecrease" scale="3" id="Tc_C0w3KjYfHEiTvwk3mDh5YA_7_6">25,384</ix:nonFraction></p></td><td style="vertical-align:bottom;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;"><span style="font-size:9pt;margin-left:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:GoodwillForeignCurrencyTranslationGainLoss" scale="3" id="Tc_wLVyjWTm-k25WaPQh9XY0A_7_9">16</ix:nonFraction></p></td><td style="vertical-align:bottom;width:1.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;"><span style="font-size:9pt;margin-left:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.26%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="As_Of_3_31_2023_if5iG1tra0aH_pegPPBopw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:GoodwillGross" scale="3" id="Tc_8NBdKjw2tUmGn--TpwJdPA_7_12">2,754,415</ix:nonFraction></p></td><td style="vertical-align:bottom;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;"><span style="font-size:9pt;margin-left:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.38%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="As_Of_3_31_2023_if5iG1tra0aH_pegPPBopw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:GoodwillImpairedAccumulatedImpairmentLoss" scale="3" id="Tc_I7EjiMhTukGb65-5cX361g_7_15">762,021</ix:nonFraction>)</p></td><td style="vertical-align:bottom;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;"><span style="font-size:9pt;margin-left:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.11%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="As_Of_3_31_2023_if5iG1tra0aH_pegPPBopw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:Goodwill" scale="3" id="Tc_bDuIQ7R-HkmpINNXs4rZ-A_7_18">1,992,394</ix:nonFraction></p></td></tr></table></ix:nonNumeric><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;line-height:1.19;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:6pt 0pt 0pt 0pt;">See <i style="font-style:italic;">Note 11 &#8211; Business Combinations</i> for goodwill recognized on acquisitions that occurred during the quarter.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><ix:nonNumeric contextRef="Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA" name="bld:ScheduleOfAcquiredFiniteLivedAndIndefiniteLivedIntangibleAssetTableTextBlock" id="Tb_9A3Zoigcokqj8nhp-bQsaQ" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;">Other intangible assets, net includes customer relationships, non-compete agreements, and trademarks / trade names.&#160;&#160;The following table sets forth our other intangible assets, in thousands:</p><ix:nonNumeric contextRef="Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA" name="us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseTableTextBlock" id="Tb_G3Thgip26EGwEOCHacNLhg" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;line-height:1.19;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:57.75%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:17.08%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:17.08%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:57.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:40.22%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">As of</b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:57.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:19.1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">March 31, 2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:19.1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">December 31, 2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:57.75%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">Gross definite-lived intangible assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="As_Of_3_31_2023_if5iG1tra0aH_pegPPBopw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FiniteLivedIntangibleAssetsGross" scale="3" id="Tc_VPUHVE4430S9dSc3AuJUPA_3_3">791,939</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="As_Of_12_31_2022_3M6K0OeVvUOHwft-0BiHjg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FiniteLivedIntangibleAssetsGross" scale="3" id="Tc_COHi7e-Q8kWv7LxdvETFxg_3_6">782,316</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:57.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">Accumulated amortization</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.08%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="As_Of_3_31_2023_if5iG1tra0aH_pegPPBopw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" scale="3" id="Tc_F3UoDTHpXEmUSmplxNP7Kw_4_3">184,256</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.08%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="As_Of_12_31_2022_3M6K0OeVvUOHwft-0BiHjg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" scale="3" id="Tc_V_U0KZ919kazBmw2Em1Yrg_4_6">167,349</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:57.75%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt 0pt 0pt 6pt;">Net definite-lived intangible assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.08%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="As_Of_3_31_2023_if5iG1tra0aH_pegPPBopw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FiniteLivedIntangibleAssetsNet" scale="3" id="Tc_PSa0sWlaK0SBzFROf15iFw_5_3">607,683</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.08%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="As_Of_12_31_2022_3M6K0OeVvUOHwft-0BiHjg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FiniteLivedIntangibleAssetsNet" scale="3" id="Tc_EyErhFhie0uOMjzqJiX2Kg_5_6">614,967</ix:nonFraction></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></ix:nonNumeric></ix:nonNumeric><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;">The following table sets forth our amortization expense, in thousands:</p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:57.75%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:17.08%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:17.08%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:57.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:40.22%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Three Months Ended March&#160;31,&#160;</b></p></td></tr><tr><td style="vertical-align:bottom;width:57.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:19.1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:19.1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:57.75%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">Amortization expense</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AmortizationOfIntangibleAssets" scale="3" id="Tc_XIJfiK8QUU21SwjFh6DfXA_3_3">16,896</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="Duration_1_1_2022_To_3_31_2022_6vn3vE91T0CiaH7EkBeDAw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AmortizationOfIntangibleAssets" scale="3" id="Tc_v0-B0XC06USVmnEz379tDA_3_6">17,825</ix:nonFraction></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></ix:continuation><a id="_be68b135_7f12_4c9e_a37e_a3d11ec735e1"></a><a id="Tc_LxD2zXCB_U-JmDz5V9ndpw_1_2"></a><a id="Tc_oF9NY6dDqEm09J3lt-JC5w_2_2"></a><a id="Tc_8DcZL9LwikKLfH_uErJnjw_2_5"></a><a id="Tc_gPigyUVG0EWb2pT5J3Z8Vw_3_0"></a><a id="Tc_GnxlXqpqRUu0IZuqnkx9_w_3_2"></a><a id="Tc_0xcYSiNM-kme9OcBpWlqQQ_3_5"></a><a id="Tc_NwrgYZBEQ0GVApcJ-_zCfw_4_0"></a><a id="Tc_XjR6qt_INEiXNBImfa2H6w_5_0"></a><a id="Tc_0BBatdjE3ESifthmw4THYg_6_0"></a><a id="Tc_hR8PCXhMLEGMysf1yWsU0g_7_0"></a><a id="Tc_7P8lVey3B0mz166bkOQ8mA_8_0"></a><a id="Tc_Zfe7eixDa0mXW1r7ltmHdA_9_0"></a><a id="Tc_vG7D0QQtaESU_To5bvICfw_10_0"></a><a id="Tc_xup_s80LskKXzy0ChrMeBA_10_2"></a><a id="Tc_Zb6_hmXMRkGXjAgd21Tjyg_10_5"></a><a id="_758de4bb_60f1_407b_9283_2b29c34c744d"></a><a id="Tc_tSKlkvdJ1Uu31WHGTzmDew_2_2"></a><a id="Tc_w35LzXtb-02tZ4VV9jvw0A_2_5"></a><a id="Tc_NoF6BatH9ECfMa0MhXP4qg_2_8"></a><a id="Tc_nVWgFzCZU0uFawBW2-9nYw_2_11"></a><a id="Tc_horVUdrgM0GvIIsf0os2WA_2_14"></a><a id="Tc_ja-LqoVbxUS1Z1115EkKmQ_2_17"></a><a id="Tc_MQCJQq3xxkmk72O4qKkc2Q_2_20"></a><a id="Tc_2m1nigXRYkKec8kVzmBRig_3_0"></a><a id="Tc_HT_tyIDcf0eNaTB0EJKs8g_3_2"></a><a id="Tc_3BVX-onEXUmoaR6ZGq31jQ_3_3"></a><a id="Tc_phYXyqm1IES4yqDB2obcow_3_5"></a><a id="Tc_L6Lm-_G930iljwluTWsNrw_3_6"></a><a id="Tc_cDkcOG3qpEiEtTREkfoySg_3_8"></a><a id="Tc_DPNOkzk-2UihfRYscGHPpQ_3_9"></a><a id="Tc_AWtHtSL8WECmlSiHQ_cEag_3_11"></a><a id="Tc_NXoqii81Bk6f14Bng6mLzg_3_12"></a><a id="Tc_Vv9rWHe9pESszfd_V2LRXQ_3_14"></a><a id="Tc_I-X_KPo93kaFUDSUH0sJsg_3_15"></a><a id="Tc_lr6OZPBLz0yeDCP-eDxuKg_3_17"></a><a id="Tc_u7R2A-w1k0q_bMvEmGolNw_3_20"></a><a id="Tc_BWe9S9lNNUa5jSADz4k-VQ_4_0"></a><a id="Tc_LOkre-dOxk-3Rw65i_NWyA_4_3"></a><a id="Tc_RZ5EeA_jFEKuKjTdNQL5mg_4_6"></a><a id="Tc_DKQczGhkOEWmnt5Yv5kXBA_4_9"></a><a id="Tc_lOBY1Af2DkeqTweIPv5zIQ_4_12"></a><a id="Tc_wI_j7ZcnK02nHZDr-AgHIw_4_15"></a><a id="Tc_M1ox7iH6Kk-TjfcB63LfEw_5_0"></a><a id="Tc_XDOIWg5gIkiD48WEYkbVCw_5_15"></a><a id="Tc_L8nLuOWgQE2_rgCcNF9tuQ_5_18"></a><a id="Tc_KFl_bJO2skCSiGlqma4Asw_6_0"></a><a id="Tc_wL5NWU5EZEqQiLGMlqyj9g_6_9"></a><a id="Tc_HMo-3AkBRki0p0Xwyodo9Q_6_12"></a><a id="Tc_KIrkPOXVj0OyE4Cmq1Ckbg_6_15"></a><a id="Tc__3hO1QixjU6nqQosCoO7xw_6_18"></a><a id="Tc_ZDSiylkZ-0uLThD80O4uxA_7_0"></a><a id="Tc_zJZLMvdyiEyHxQvttFH2OQ_7_2"></a><a id="Tc_xlScjX6scUq4RzLbDf-QYA_7_5"></a><a id="Tc_cZFQqfMrz0Om5Uwos65OSw_7_8"></a><a id="Tc_7NmInGAQB06YycdSPwHWMw_7_11"></a><a id="Tc_2-Dv_I7VxEmF4jN7i1adUQ_7_14"></a><a id="Tc_J13fu34KNU6XBEexoCQaqQ_7_15"></a><a id="Tc_oOke6KdgHkmSSItCbnMUQQ_7_17"></a><a id="Tc_ub6BfGg4WEy6TdxybLBU4w_7_20"></a><ix:nonNumeric contextRef="Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA" name="us-gaap:LongTermDebtTextBlock" id="Tb_Ml401cZkmk6o29y06_Cgbw" continuedAt="Tb_Ml401cZkmk6o29y06_Cgbw_cont1" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.28;margin:6pt 0pt 8pt 0pt;"><b style="font-weight:bold;white-space:pre-wrap;">5.  LONG-TERM DEBT</b></p><ix:nonNumeric contextRef="Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA" name="us-gaap:ScheduleOfDebtTableTextBlock" id="Tb_J9WR9Gv4Qk-4s9skgGOldA" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;">The following table reconciles the principal balances of our outstanding debt to our condensed consolidated balance sheets, in thousands:</p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:66.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:66.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:31.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">As of</b></p></td></tr><tr><td style="vertical-align:bottom;width:66.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.82%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">March 31, 2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">December 31, 2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:66.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"><ix:nonFraction unitRef="Unit_Standard_pure_AMt-SnY1f0Gk50TcxvjL4w" contextRef="As_Of_3_31_2023_us-gaap_LongtermDebtTypeAxis_bld_SeniorNotesDue2029Member_eAdN8VMzyUGhjAJyjAj6Mw" decimals="5" format="ixt:numdotdecimal" name="us-gaap:DebtInstrumentInterestRateStatedPercentage" scale="-2" id="Narr_-sDqVtxfTUGnCZQDVscw-g">3.625</ix:nonFraction>% Senior Notes due 2029</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="As_Of_3_31_2023_us-gaap_LongtermDebtTypeAxis_bld_SeniorNotesDue2029Member_eAdN8VMzyUGhjAJyjAj6Mw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DebtInstrumentCarryingAmount" scale="3" id="Tc_VASa8OM-9UShFzyhz1DD0Q_3_3">400,000</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="As_Of_12_31_2022_us-gaap_LongtermDebtTypeAxis_bld_SeniorNotesDue2029Member_P-zVb6WG90S3kOqpODQxTg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DebtInstrumentCarryingAmount" scale="3" id="Tc_9aSBI-6-MkypFIxu_Mmclg_3_6">400,000</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:66.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"><ix:nonFraction unitRef="Unit_Standard_pure_AMt-SnY1f0Gk50TcxvjL4w" contextRef="As_Of_3_31_2023_us-gaap_LongtermDebtTypeAxis_bld_SeniorNotesDue2032Member_elVgkkQg00Sj-9xwdaEdLA" decimals="5" format="ixt:numdotdecimal" name="us-gaap:DebtInstrumentInterestRateStatedPercentage" scale="-2" id="Narr_XEL4Oj4Fs0idUMt2_bKj8Q">4.125</ix:nonFraction>% Senior Notes due 2032</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="As_Of_3_31_2023_us-gaap_LongtermDebtTypeAxis_bld_SeniorNotesDue2032Member_elVgkkQg00Sj-9xwdaEdLA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DebtInstrumentCarryingAmount" scale="3" id="Tc_ds_1_-15hUa461EYmhiWnQ_4_3">500,000</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="As_Of_12_31_2022_us-gaap_LongtermDebtTypeAxis_bld_SeniorNotesDue2032Member_LYay9YrBtEuYzymdz-Gjcw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DebtInstrumentCarryingAmount" scale="3" id="Tc_67SRMTEbtE6sPJQXkcE4TA_4_6">500,000</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:66.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">Term loan</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="As_Of_3_31_2023_us-gaap_LongtermDebtTypeAxis_us-gaap_SecuredDebtMember_bs9MyfF_3EG8x_GCCXvppw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DebtInstrumentCarryingAmount" scale="3" id="Tc_ZoamNWWxQUOKyTinhGmsYA_5_3">558,750</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="As_Of_12_31_2022_us-gaap_LongtermDebtTypeAxis_us-gaap_SecuredDebtMember_Drf3hjFYok-EO9LwVlgQZQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DebtInstrumentCarryingAmount" scale="3" id="Tc_IR9Uuzbp4k-awNdGUPKEeg_5_6">566,250</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:66.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">Equipment notes</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="As_Of_3_31_2023_us-gaap_LongtermDebtTypeAxis_bld_EquipmentNotesMember_CzofN1GTuUe3vubWUs9Peg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DebtInstrumentCarryingAmount" scale="3" id="Tc_IcMB21f5Yk-Rpzuep6kRCg_6_3">6,185</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="As_Of_12_31_2022_us-gaap_LongtermDebtTypeAxis_bld_EquipmentNotesMember_BrxivjoGsES5f9i33thXHQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DebtInstrumentCarryingAmount" scale="3" id="Tc_QZ25-5eYCEuQrGx8rPi6wA_6_6">8,427</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:66.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">Unamortized debt issuance costs</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.36%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="As_Of_3_31_2023_if5iG1tra0aH_pegPPBopw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredFinanceCostsNet" scale="3" id="Tc_UcTY1wsuQ0mLWSIaJnketQ_7_3">16,633</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.53%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.49%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="As_Of_12_31_2022_3M6K0OeVvUOHwft-0BiHjg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredFinanceCostsNet" scale="3" id="Tc_j7sbYz34dkylOpPHbcBK0w_7_6">17,352</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:66.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">Total debt, net of unamortized debt issuance costs</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="As_Of_3_31_2023_if5iG1tra0aH_pegPPBopw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LongTermDebt" scale="3" id="Tc_lkddtLLosU6a_EegTH754w_8_3">1,448,302</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="As_Of_12_31_2022_3M6K0OeVvUOHwft-0BiHjg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LongTermDebt" scale="3" id="Tc_SPKvhYbNK0WIZHZvNApW_A_8_6">1,457,325</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:66.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;">Less: current portion of long-term debt</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.36%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="As_Of_3_31_2023_if5iG1tra0aH_pegPPBopw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LongTermDebtCurrent" scale="3" id="Tc_3-6CKwxvdkae3vqClu6exA_9_3">42,371</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.53%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.49%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="As_Of_12_31_2022_3M6K0OeVvUOHwft-0BiHjg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LongTermDebtCurrent" scale="3" id="Tc_faq5cuBU7Eem3iyNqKQw2g_9_6">40,068</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:66.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">Total long-term debt</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.36%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="As_Of_3_31_2023_if5iG1tra0aH_pegPPBopw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LongTermDebtNoncurrent" scale="3" id="Tc_dhyc3eBQUEK27ve4FuwA0A_10_3">1,405,931</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.53%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.49%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="As_Of_12_31_2022_3M6K0OeVvUOHwft-0BiHjg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LongTermDebtNoncurrent" scale="3" id="Tc_sWPp8rzj5kGPRdZXaTXMCA_10_6">1,417,257</ix:nonFraction></p></td></tr></table></ix:nonNumeric><ix:nonNumeric contextRef="Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA" name="us-gaap:ScheduleOfMaturitiesOfLongTermDebtTableTextBlock" id="Tb_KsMwAdvIfk2DzuCXQsmUBw" escape="true"><p style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="font-family:'Times New Roman','Times','serif';">The following table sets forth our remaining principal payments for our outstanding debt balances as of March 31, 2023, in thousands:</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:21.83%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.37%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.39%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.39%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.39%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.39%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.39%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:21.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.37%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.39%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.39%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.39%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.39%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.39%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:21.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.74%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.77%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.77%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">2025</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;width:9.77%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">2026</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;width:9.77%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">2027</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.77%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Thereafter</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.88%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Total</b></p></td></tr><tr><td style="vertical-align:bottom;width:21.83%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"><ix:nonFraction unitRef="Unit_Standard_pure_AMt-SnY1f0Gk50TcxvjL4w" contextRef="As_Of_3_31_2023_us-gaap_LongtermDebtTypeAxis_bld_SeniorNotesDue2029Member_eAdN8VMzyUGhjAJyjAj6Mw" decimals="5" format="ixt:numdotdecimal" name="us-gaap:DebtInstrumentInterestRateStatedPercentage" scale="-2" id="Narr_-6d-VypnM0uHcCrcy6O5xw">3.625</ix:nonFraction>% Senior Notes</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.39%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.39%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.39%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.39%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.39%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="As_Of_3_31_2023_us-gaap_LongtermDebtTypeAxis_bld_SeniorNotesDue2029Member_eAdN8VMzyUGhjAJyjAj6Mw" decimals="-3" format="ixt:numdotdecimal" name="bld:LongTermDebtMaturitiesRepaymentsOfPrincipalAfterYearFour" scale="3" id="Tc_Uwu1BXC_cESiGecK9t8SRw_3_18">400,000</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="As_Of_3_31_2023_us-gaap_LongtermDebtTypeAxis_bld_SeniorNotesDue2029Member_eAdN8VMzyUGhjAJyjAj6Mw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DebtInstrumentCarryingAmount" scale="3" id="Tc_imVQPoPon0-oNZD9vXSXXA_3_21">400,000</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:21.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"><ix:nonFraction unitRef="Unit_Standard_pure_AMt-SnY1f0Gk50TcxvjL4w" contextRef="As_Of_3_31_2023_us-gaap_LongtermDebtTypeAxis_bld_SeniorNotesDue2032Member_elVgkkQg00Sj-9xwdaEdLA" decimals="5" format="ixt:numdotdecimal" name="us-gaap:DebtInstrumentInterestRateStatedPercentage" scale="-2" id="Narr_Oy4bX0gJjUKXRQASIBxz6g">4.125</ix:nonFraction>% Senior Notes</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="As_Of_3_31_2023_us-gaap_LongtermDebtTypeAxis_bld_SeniorNotesDue2032Member_elVgkkQg00Sj-9xwdaEdLA" decimals="-3" format="ixt:numdotdecimal" name="bld:LongTermDebtMaturitiesRepaymentsOfPrincipalAfterYearFour" scale="3" id="Tc_J6Y-jn6jr0ii9TLQSP7PQQ_4_18">500,000</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="As_Of_3_31_2023_us-gaap_LongtermDebtTypeAxis_bld_SeniorNotesDue2032Member_elVgkkQg00Sj-9xwdaEdLA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DebtInstrumentCarryingAmount" scale="3" id="Tc_Tn9bf5hFn0K2FSz2YOLKMA_4_21">500,000</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:21.83%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">Term loan</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="As_Of_3_31_2023_us-gaap_LongtermDebtTypeAxis_us-gaap_SecuredDebtMember_bs9MyfF_3EG8x_GCCXvppw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalRemainderOfFiscalYear" scale="3" id="Tc_MRYNV4G7Ek-URxuzNDwnPA_5_3">26,250</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.39%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="As_Of_3_31_2023_us-gaap_LongtermDebtTypeAxis_us-gaap_SecuredDebtMember_bs9MyfF_3EG8x_GCCXvppw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths" scale="3" id="Tc_mZq6avHZukSSW_SqDQSNTg_5_6">45,000</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.39%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="As_Of_3_31_2023_us-gaap_LongtermDebtTypeAxis_us-gaap_SecuredDebtMember_bs9MyfF_3EG8x_GCCXvppw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalInYearTwo" scale="3" id="Tc_7GEfdVm5V0amIlkYbguwRA_5_9">48,750</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.39%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="As_Of_3_31_2023_us-gaap_LongtermDebtTypeAxis_us-gaap_SecuredDebtMember_bs9MyfF_3EG8x_GCCXvppw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalInYearThree" scale="3" id="Tc_mnzbI6lOHki0mSA7HJjHYA_5_12">438,750</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.39%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.39%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="As_Of_3_31_2023_us-gaap_LongtermDebtTypeAxis_us-gaap_SecuredDebtMember_bs9MyfF_3EG8x_GCCXvppw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DebtInstrumentCarryingAmount" scale="3" id="Tc_aOnoa0PlkEyHX9guHWcIsQ_5_21">558,750</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:21.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">Equipment notes</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.37%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="As_Of_3_31_2023_us-gaap_LongtermDebtTypeAxis_bld_EquipmentNotesMember_CzofN1GTuUe3vubWUs9Peg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalRemainderOfFiscalYear" scale="3" id="Tc_OFmx5AhOFUO7tJ1NQrkz8w_6_3">4,076</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.39%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="As_Of_3_31_2023_us-gaap_LongtermDebtTypeAxis_bld_EquipmentNotesMember_CzofN1GTuUe3vubWUs9Peg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths" scale="3" id="Tc_DuinD3GdVUKTXE-vSWXpWA_6_6">2,109</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.39%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.39%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.39%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.39%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="As_Of_3_31_2023_us-gaap_LongtermDebtTypeAxis_bld_EquipmentNotesMember_CzofN1GTuUe3vubWUs9Peg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DebtInstrumentCarryingAmount" scale="3" id="Tc_zSJlOoQZ90OHaJT-Lo7_Rw_6_21">6,185</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:21.83%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;">Total</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.37%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="As_Of_3_31_2023_if5iG1tra0aH_pegPPBopw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalRemainderOfFiscalYear" scale="3" id="Tc_SdD9FgpDF0GhlUiMmoEEPw_7_3">30,326</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.39%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="As_Of_3_31_2023_if5iG1tra0aH_pegPPBopw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths" scale="3" id="Tc_S2KnaPxtSUe-othHmK5nCw_7_6">47,109</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.39%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="As_Of_3_31_2023_if5iG1tra0aH_pegPPBopw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalInYearTwo" scale="3" id="Tc_sz4FtU9Dn0GDN2s7UolUBQ_7_9">48,750</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.39%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="As_Of_3_31_2023_if5iG1tra0aH_pegPPBopw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalInYearThree" scale="3" id="Tc_0BofKRwNQEC7HYyAg0Xklg_7_12">438,750</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.39%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.39%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="As_Of_3_31_2023_if5iG1tra0aH_pegPPBopw" decimals="-3" format="ixt:numdotdecimal" name="bld:LongTermDebtMaturitiesRepaymentsOfPrincipalAfterYearFour" scale="3" id="Tc_RfdxQ_04oUeoQO7QSfRBtg_7_18">900,000</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="As_Of_3_31_2023_if5iG1tra0aH_pegPPBopw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DebtInstrumentCarryingAmount" scale="3" id="Tc_9RMSfA23ck2Ky17kGuY-7w_7_21">1,464,935</ix:nonFraction></p></td></tr></table></ix:nonNumeric><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;line-height:1.19;visibility:hidden;">&#8203;</span></p></ix:nonNumeric></div><div style="clear:both;display:table;margin-bottom:30pt;min-height:0.35pt;width:100%;"><div style="display:table-cell;vertical-align:bottom;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:12pt 0pt 0pt 0pt;">11</p></div></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:79.3%;border:0;margin:30pt 10.35% 30pt 10.35%;"></div><div style="max-width:100%;padding-left:10.35%;padding-right:10.35%;position:relative;"><div style="margin-top:21.6pt;min-height:41.75pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt 0pt 30pt 0pt;"><a href="#Toc"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">TOPBUILD CORP.</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">NOTES TO CONDENSED CONSOLIDATED FINANCIAL STATEMENTS (Continued)</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></div><div style="clear:both;max-width:100%;position:relative;min-height:9.77pt;"><a id="_740a9477_e156_4f87_8eae_7a8037d7cf8c"></a><a id="Tc_hoDpxkmTpEOYoa7AUnpFAQ_1_0"></a><a id="Tc_d0aBvuW6TE2oA1tQr-Cegg_1_1"></a><a id="Tc_VDljc_iP_kSz0VvmDM53-w_2_0"></a><a id="Tc_QolteF5HGUq6_SZ5p_UeNg_2_1"></a><a id="Tc_euPa08ZfRECSytCI2S_eJg_4_0"></a><a id="Tc_zDPlHpSUoESBVEfShP5K4A_4_1"></a><a id="Tc_N57EcrbTEEmufN3Rr713OA_6_0"></a><a id="Tc_pX6CuUXOrECYG10x2zIavQ_6_1"></a><a id="Tc_LgL_Hru1REigApfu6WtswA_7_0"></a><a id="Tc_BLC49r4evEGbSr5L9EMNCA_7_1"></a><a id="Tc_QK4c_Ydj7Ue0YpxpGLGPQg_8_0"></a><a id="Tc_jwWswClN5EuwRuI32H8sRg_8_1"></a><a id="Tc_tXmZz_6-OkKL5m_r5N5rvQ_10_0"></a><a id="Tc_-3c9NcBiCkWyoItzBMEbDA_10_3"></a><a id="Tc_xy2AjK2M2k2qDBZTxLE8NQ_11_0"></a><a id="_74b17450_2b81_4fac_af4a_f19a867b40da"></a><a id="Tc_kplJsuYFAESexGw5qSSzQw_1_2"></a><a id="Tc_WsgHZWimW0O1nRn1Fb8e3w_2_2"></a><a id="Tc_KWEmwQ1cm0OnMF70jQ30cw_2_5"></a><a id="Tc__L4NAEWtt06w7C5oZr7UwA_3_0"></a><a id="Tc_wc4LanS1qUSbxicGDepRnw_3_2"></a><a id="Tc_33Xd_py1qEGjDuthJjTA2Q_3_5"></a><a id="Tc_GT3MPjbGzkCLh8vNT1C2bw_4_0"></a><a id="Tc_q3pX64isHEmGq5EAfj3nlA_5_0"></a><a id="Tc_UUfYOpx6sk-rRIzk3Xea9w_5_2"></a><a id="Tc_mjAqLIxF1UyVHgUOGiVEiA_5_5"></a><ix:continuation id="Tb_Ml401cZkmk6o29y06_Cgbw_cont1" continuedAt="Tb_Ml401cZkmk6o29y06_Cgbw_cont2"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;background:#ffffff;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;">Credit Agreement</i></p><ix:nonNumeric contextRef="Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA" name="bld:SummaryOfKeyTermsOfCreditAgreementTableTextBlock" id="Tb_1HfOt49rkU6zzEz4AYcPpQ" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;">The following table outlines the key terms of the Credit Agreement (dollars in thousands):</p><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="font-size:10pt;margin-bottom:5pt;margin-top:5pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:83.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:83.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">Senior secured term loan facility</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="As_Of_3_31_2023_us-gaap_DebtInstrumentAxis_bld_AmendedCreditAgreementDecember2022Member_us-gaap_LongtermDebtTypeAxis_us-gaap_SecuredDebtMember_GtTMZxo2F0mhtqH3ASSO6w" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity" scale="3" id="Tc_vtxdRGvuB0aPaBxj6-ztng_1_2">300,000</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:83.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">Additional delayed draw term loan</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="As_Of_3_31_2023_us-gaap_DebtInstrumentAxis_bld_AmendedCreditAgreementDecember2022Member_1yTqinL9CUu7K_P14w9w4w" decimals="-3" format="ixt:numdotdecimal" name="bld:LineOfCreditFacilityAdditionalBorrowingCapacityDelayedDraw" scale="3" id="Tc_k-nNVUsmt0WPKckfIVAMwA_2_2">300,000</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:83.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:83.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">Additional term loan and/or revolver capacity available under incremental facility (a)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="As_Of_3_31_2023_us-gaap_DebtInstrumentAxis_bld_AmendedCreditAgreementDecember2022Member_1yTqinL9CUu7K_P14w9w4w" decimals="-3" format="ixt:numdotdecimal" name="bld:LineOfCreditFacilityAdditionalBorrowingCapacityAvailableSubjectToCertainConditions" scale="3" id="Tc_iAzj8W6aM0uv8m38W2MSGQ_4_2">300,000</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:83.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:83.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">Revolving facility</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="As_Of_3_31_2023_us-gaap_DebtInstrumentAxis_bld_AmendedCreditAgreementDecember2022Member_us-gaap_ShortTermDebtTypeAxis_us-gaap_RevolvingCreditFacilityMember_US7n4D7r1Um5G-0vFJkevA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity" scale="3" id="Tc_6CNPMJPHNEqojMyE056A-A_6_2">500,000</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:83.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">Sublimit for issuance of letters of credit under revolving facility (b)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="As_Of_3_31_2023_us-gaap_DebtInstrumentAxis_bld_AmendedCreditAgreementDecember2022Member_us-gaap_ShortTermDebtTypeAxis_us-gaap_RevolvingCreditFacilityMember_US7n4D7r1Um5G-0vFJkevA" decimals="-3" format="ixt:numdotdecimal" name="bld:LineOfCreditFacilitySublimitAvailableForLettersOfCredit" scale="3" id="Tc_0aHnWeORkESOUvt3arfnDw_7_2">100,000</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:83.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">Sublimit for swingline loans under revolving facility (b)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="As_Of_3_31_2023_us-gaap_DebtInstrumentAxis_bld_AmendedCreditAgreementDecember2022Member_us-gaap_ShortTermDebtTypeAxis_us-gaap_RevolvingCreditFacilityMember_US7n4D7r1Um5G-0vFJkevA" decimals="-3" format="ixt:numdotdecimal" name="bld:LineOfCreditFacilitySublimitAvailableForSwinglineLoans" scale="3" id="Tc_tiEocKhAIEuU3xd5NUGU8g_8_2">35,000</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:83.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:83.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">Interest rate as of March&#160;31,&#160;2023</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_pure_AMt-SnY1f0Gk50TcxvjL4w" contextRef="As_Of_3_31_2023_us-gaap_DebtInstrumentAxis_bld_AmendedCreditAgreementDecember2022Member_us-gaap_ShortTermDebtTypeAxis_us-gaap_RevolvingCreditFacilityMember_US7n4D7r1Um5G-0vFJkevA" decimals="4" format="ixt:numdotdecimal" name="us-gaap:DebtInstrumentInterestRateEffectivePercentage" scale="-2" id="Tc_kRyudSvF-0qCKg91KKW6nA_10_2">5.91</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:83.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">Scheduled maturity date</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><ix:nonNumeric contextRef="Duration_1_1_2023_To_3_31_2023_us-gaap_DebtInstrumentAxis_bld_AmendedCreditAgreementDecember2022Member_dUZnXEjACUOqenPIzQv7xA" format="ixt:datemonthdayyear" name="us-gaap:DebtInstrumentMaturityDate" id="Tc_MR4veyry3U-5xB9ko5Fdyw_11_2"><span style="font-size:9pt;">10/7/2026</span></ix:nonNumeric></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td></tr></table><div style="font-family:'Calibri','Helvetica','sans-serif';font-size:8.0pt;margin-bottom:0pt;min-height:1.19em;position:relative;width:100%;"><div style="background-color:#000000;height:1pt;position:relative;top:0.6em;width:25.0%;border:none;margin:0 auto 0 0;"></div></div><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="font-family:'Times New Roman','Times','serif';font-size:9pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">(a)</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:9pt;font-style:normal;font-weight:normal;">Additional borrowing capacity is available under the incremental facility, subject to certain terms and conditions (including existing or new lenders providing commitments in respect of such additional borrowing capacity).</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="font-family:'Times New Roman','Times','serif';font-size:9pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">(b)</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:9pt;font-style:normal;font-weight:normal;">Use of the sublimits for the issuance of letters of credit and swingline loans reduces the availability under the Revolving Facility.</span></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="font-size:10pt;margin-bottom:5pt;margin-top:5pt;visibility:hidden;">&#8203;</span></p></ix:nonNumeric><p style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="font-family:'Times New Roman','Times','serif';">Interest payable on borrowings under the Credit Agreement is based on an applicable margin rate plus, at our option, either: &#160;</span></p><p style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;line-height:1.19;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">A base rate determined by reference to the highest of either (i) the federal funds rate plus </span><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;"><ix:nonFraction unitRef="Unit_Standard_pure_AMt-SnY1f0Gk50TcxvjL4w" contextRef="Duration_1_1_2023_To_3_31_2023_us-gaap_CreditFacilityAxis_bld_BaseRateBorrowingsMember_us-gaap_DebtInstrumentAxis_bld_AmendedCreditAgreementDecember2022Member_us-gaap_VariableRateAxis_bld_FederalFundsRateMember_2isN064HNUSL501Hs3TD5g" decimals="4" format="ixt:numdotdecimal" name="us-gaap:DebtInstrumentBasisSpreadOnVariableRate1" scale="-2" id="Narr_0vXkXmmWe0KkuHq3YToRxw">0.50</ix:nonFraction></span><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;"> percent, (ii) BofA&#8217;s &#8220;prime rate,&#8221; and (iii) the SOFR rate for U.S. dollar deposits with a term of </span><ix:nonNumeric contextRef="Duration_1_1_2023_To_3_31_2023_us-gaap_CreditFacilityAxis_bld_BaseRateBorrowingsMember_us-gaap_DebtInstrumentAxis_bld_AmendedCreditAgreementDecember2022Member_us-gaap_VariableRateAxis_us-gaap_SecuredOvernightFinancingRateSofrOvernightIndexSwapRateMember_3wsFuSaPSUqVx4842Jk4dw" format="ixt-sec:durwordsen" name="bld:DebtInstrumentReferenceRateMaturityPeriod" id="Narr_DHucrjHNEkmHs0dKRpZfSg"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">one month</span></ix:nonNumeric><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">, plus </span><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;"><ix:nonFraction unitRef="Unit_Standard_pure_AMt-SnY1f0Gk50TcxvjL4w" contextRef="Duration_1_1_2023_To_3_31_2023_us-gaap_CreditFacilityAxis_bld_BaseRateBorrowingsMember_us-gaap_DebtInstrumentAxis_bld_AmendedCreditAgreementDecember2022Member_us-gaap_VariableRateAxis_us-gaap_SecuredOvernightFinancingRateSofrOvernightIndexSwapRateMember_3wsFuSaPSUqVx4842Jk4dw" decimals="4" format="ixt:numdotdecimal" name="us-gaap:DebtInstrumentBasisSpreadOnVariableRate1" scale="-2" id="Narr_KeXiYYy7U0GjJ-ktlI51UA">1.00</ix:nonFraction></span><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;"> percent; or</span></td></tr></table><p style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:5pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;line-height:1.19;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">A SOFR rate determined by reference to the costs of funds for deposits in U.S. dollars for the interest period relevant to such borrowings, subject to a floor of </span><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;"><ix:nonFraction unitRef="Unit_Standard_pure_AMt-SnY1f0Gk50TcxvjL4w" contextRef="Duration_1_1_2023_To_3_31_2023_us-gaap_CreditFacilityAxis_bld_SofrRateBorrowingsMember_us-gaap_DebtInstrumentAxis_bld_AmendedCreditAgreementDecember2022Member_uEO3yzpci06N4bN594PGJA" decimals="3" format="ixt:numdotdecimal" name="bld:DebtInstrumentInterestRatePercentageFloor" scale="-2" id="Narr_QgBjAsxDVUGsYS_M73QPRA">0</ix:nonFraction>%</span><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">.</span></td></tr></table><p style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="font-family:'Times New Roman','Times','serif';"> </span><span style="font-family:'Times New Roman','Times','serif';visibility:hidden;">&#8203;</span></p><p style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="font-family:'Times New Roman','Times','serif';">The applicable margin rate is determined based on our Secured Leverage Ratio. &#160;In the case of base rate borrowings, the applicable margin rate ranges from </span><span style="font-family:'Times New Roman','Times','serif';"><ix:nonFraction unitRef="Unit_Standard_pure_AMt-SnY1f0Gk50TcxvjL4w" contextRef="Duration_1_1_2023_To_3_31_2023_srt_RangeAxis_srt_MinimumMember_us-gaap_CreditFacilityAxis_bld_BaseRateBorrowingsMember_us-gaap_DebtInstrumentAxis_bld_AmendedCreditAgreementDecember2022Member_2mxFiM8-YEGzpqnVMCBdWg" decimals="4" format="ixt:numdotdecimal" name="bld:DebitInstrumentApplicableMarginBasedOnTotalLeverageRatio" scale="-2" id="Narr_THxoc_VM3EuCr9brAS6SMA">0.00</ix:nonFraction></span><span style="font-family:'Times New Roman','Times','serif';"> percent to </span><span style="font-family:'Times New Roman','Times','serif';"><ix:nonFraction unitRef="Unit_Standard_pure_AMt-SnY1f0Gk50TcxvjL4w" contextRef="Duration_1_1_2023_To_3_31_2023_srt_RangeAxis_srt_MaximumMember_us-gaap_CreditFacilityAxis_bld_BaseRateBorrowingsMember_us-gaap_DebtInstrumentAxis_bld_AmendedCreditAgreementDecember2022Member_myYgiyHSo0iyzP0cBPMYqA" decimals="4" format="ixt:numdotdecimal" name="bld:DebitInstrumentApplicableMarginBasedOnTotalLeverageRatio" scale="-2" id="Narr_v6Z79E9LJ0yYpvTGdM9kgQ">1.50</ix:nonFraction></span><span style="font-family:'Times New Roman','Times','serif';"> percent and in the case of SOFR rate borrowings, the applicable margin ranges from </span><span style="font-family:'Times New Roman','Times','serif';"><ix:nonFraction unitRef="Unit_Standard_pure_AMt-SnY1f0Gk50TcxvjL4w" contextRef="Duration_1_1_2023_To_3_31_2023_srt_RangeAxis_srt_MinimumMember_us-gaap_CreditFacilityAxis_bld_SofrRateBorrowingsMember_us-gaap_DebtInstrumentAxis_bld_AmendedCreditAgreementDecember2022Member_qqyoFIJb90-TK4nokPe6YQ" decimals="4" format="ixt:numdotdecimal" name="bld:DebitInstrumentApplicableMarginBasedOnTotalLeverageRatio" scale="-2" id="Narr_o8t5OkjJ2U2wmAMeRFKHVg">1.00</ix:nonFraction></span><span style="font-family:'Times New Roman','Times','serif';"> percent to </span><span style="font-family:'Times New Roman','Times','serif';"><ix:nonFraction unitRef="Unit_Standard_pure_AMt-SnY1f0Gk50TcxvjL4w" contextRef="Duration_1_1_2023_To_3_31_2023_srt_RangeAxis_srt_MaximumMember_us-gaap_CreditFacilityAxis_bld_SofrRateBorrowingsMember_us-gaap_DebtInstrumentAxis_bld_AmendedCreditAgreementDecember2022Member_24lMMhU0VUyhLuGNOyJ-LA" decimals="4" format="ixt:numdotdecimal" name="bld:DebitInstrumentApplicableMarginBasedOnTotalLeverageRatio" scale="-2" id="Narr_6AO48KgRw06CLe2cyXFlmw">2.50</ix:nonFraction></span><span style="font-family:'Times New Roman','Times','serif';"> percent. &#160;Borrowings under the Credit Agreement are prepayable at the Company&#8217;s option without premium or penalty. &#160;The Company is required to make prepayments with the net cash proceeds of certain asset sales and certain extraordinary receipts. </span></p><p style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:8pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><i style="font-family:'Times New Roman','Times','serif';font-style:italic;">Revolving Facility </i></p><p style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:8pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="font-family:'Times New Roman','Times','serif';">The Company has outstanding standby letters of credit that secure our financial obligations related to our workers&#8217; compensation, general insurance, and auto liability programs. &#160;These standby letters of credit, as well as any outstanding amount borrowed under our Revolving Facility, reduce the availability under the Revolving Facility. &#160;</span></p><p style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;visibility:hidden;">&#8203;</span></p><ix:nonNumeric contextRef="Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA" name="bld:ScheduleOfAvailabilityUnderRevolvingFacilityTableTextBlock" id="Tb_qt1bkz-Xz0ObInBpwNj6tA" escape="true"><p style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="font-family:'Times New Roman','Times','serif';">The following table summarizes our availability under the Revolving Facility, in thousands:</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;white-space:nowrap;width:66.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:66.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:31.32%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">As of</b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:66.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"><span style="font-family:'Arial','Helvetica','sans-serif';">&#160;&#160;&#160;&#160;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">March 31, 2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">December 31, 2022</b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:66.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">Revolving facility</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="As_Of_3_31_2023_us-gaap_ShortTermDebtTypeAxis_us-gaap_RevolvingCreditFacilityMember_sKkpc3fQb0-OaFzOj3p_hw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity" scale="3" id="Tc_x9svTOyN1Umrod6ygWfGFQ_3_3">500,000</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.56%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.43%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="As_Of_12_31_2022_us-gaap_ShortTermDebtTypeAxis_us-gaap_RevolvingCreditFacilityMember_1af6wDhXIkqwLcOiWRsVRg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity" scale="3" id="Tc_e9zQKNIgQUG_BbQvJvYyGg_3_6">500,000</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:66.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;">Less: standby letters of credit</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.17%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="As_Of_3_31_2023_us-gaap_ShortTermDebtTypeAxis_us-gaap_RevolvingCreditFacilityMember_sKkpc3fQb0-OaFzOj3p_hw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LettersOfCreditOutstandingAmount" scale="3" id="Tc_TQdY5lsDx0msl7WuBrgljQ_4_3">67,689</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.56%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.43%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="As_Of_12_31_2022_us-gaap_ShortTermDebtTypeAxis_us-gaap_RevolvingCreditFacilityMember_1af6wDhXIkqwLcOiWRsVRg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LettersOfCreditOutstandingAmount" scale="3" id="Tc_GjtOPTVBl0Cvdm8RCGcc-A_4_6">67,689</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:66.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">Availability under revolving facility</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.17%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="As_Of_3_31_2023_us-gaap_ShortTermDebtTypeAxis_us-gaap_RevolvingCreditFacilityMember_sKkpc3fQb0-OaFzOj3p_hw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LineOfCreditFacilityCurrentBorrowingCapacity" scale="3" id="Tc_5NLdfggo1UCxn0ZKFzw_rw_5_3">432,311</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.56%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.43%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="As_Of_12_31_2022_us-gaap_ShortTermDebtTypeAxis_us-gaap_RevolvingCreditFacilityMember_1af6wDhXIkqwLcOiWRsVRg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LineOfCreditFacilityCurrentBorrowingCapacity" scale="3" id="Tc_95HduVhDgEGfUMuquBXakg_5_6">432,311</ix:nonFraction></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></ix:nonNumeric><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;">We are required to pay commitment fees to the Lenders in respect of any unutilized commitments.&#160;&#160;The commitment fees range from <ix:nonFraction unitRef="Unit_Standard_pure_AMt-SnY1f0Gk50TcxvjL4w" contextRef="Duration_1_1_2023_To_3_31_2023_srt_RangeAxis_srt_MinimumMember_us-gaap_ShortTermDebtTypeAxis_us-gaap_RevolvingCreditFacilityMember_Dbxl61N7BEeoGZzlKOJO5w" decimals="4" format="ixt:numdotdecimal" name="us-gaap:LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage" scale="-2" id="Narr_QgE-wwp8802IalOynB5n-w">0.15</ix:nonFraction> percent to <ix:nonFraction unitRef="Unit_Standard_pure_AMt-SnY1f0Gk50TcxvjL4w" contextRef="Duration_1_1_2023_To_3_31_2023_srt_RangeAxis_srt_MaximumMember_us-gaap_ShortTermDebtTypeAxis_us-gaap_RevolvingCreditFacilityMember_2RGvF6mMx02qxoG5rj4u9Q" decimals="5" format="ixt:numdotdecimal" name="us-gaap:LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage" scale="-2" id="Narr_sYeUZ0KxnUKzXHN3_hpnKw">0.275</ix:nonFraction> percent per annum, depending on our Secured Leverage Ratio.&#160;&#160;We must also pay customary fees on outstanding letters of credit.</p></ix:continuation></div><div style="clear:both;display:table;margin-bottom:30pt;min-height:0.35pt;width:100%;"><div style="display:table-cell;vertical-align:bottom;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:12pt 0pt 0pt 0pt;">12</p></div></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:79.3%;border:0;margin:30pt 10.35% 30pt 10.35%;"></div><div style="max-width:100%;padding-left:10.35%;padding-right:10.35%;position:relative;"><div style="margin-top:21.6pt;min-height:41.75pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt 0pt 30pt 0pt;"><a href="#Toc"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">TOPBUILD CORP.</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">NOTES TO CONDENSED CONSOLIDATED FINANCIAL STATEMENTS (Continued)</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></div><div style="clear:both;max-width:100%;position:relative;"><a id="Narr_8MQTxXMZBEyXy1yRLL2Zpg"></a><ix:continuation id="Tb_Ml401cZkmk6o29y06_Cgbw_cont2" continuedAt="Tb_Ml401cZkmk6o29y06_Cgbw_cont3"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;"><ix:nonFraction unitRef="Unit_Standard_pure_AMt-SnY1f0Gk50TcxvjL4w" contextRef="As_Of_3_31_2023_us-gaap_DebtInstrumentAxis_bld_SeniorNotesDue2029Member_DOM61O-9RkadksBpNLIELQ" decimals="5" format="ixt:numdotdecimal" name="us-gaap:DebtInstrumentInterestRateStatedPercentage" scale="-2" id="Narr_nTi2d658LEySe7CCIlRfoA">3.625</ix:nonFraction>%</i><i style="font-style:italic;"> Senior Notes</i> </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;">The <ix:nonFraction unitRef="Unit_Standard_pure_AMt-SnY1f0Gk50TcxvjL4w" contextRef="As_Of_3_31_2023_us-gaap_DebtInstrumentAxis_bld_SeniorNotesDue2029Member_DOM61O-9RkadksBpNLIELQ" decimals="5" format="ixt:numdotdecimal" name="us-gaap:DebtInstrumentInterestRateStatedPercentage" scale="-2" id="Narr_DUxwGcCJSUG9rz2C6xyKwg">3.625</ix:nonFraction>% Senior Notes are $<ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="As_Of_3_31_2023_us-gaap_DebtInstrumentAxis_bld_SeniorNotesDue2029Member_DOM61O-9RkadksBpNLIELQ" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:DebtInstrumentFaceAmount" scale="6" id="Narr_IRPeD7dDIU65lyMn54CAAQ">400.0</ix:nonFraction> million senior unsecured obligations and bear interest at <ix:nonFraction unitRef="Unit_Standard_pure_AMt-SnY1f0Gk50TcxvjL4w" contextRef="As_Of_3_31_2023_us-gaap_DebtInstrumentAxis_bld_SeniorNotesDue2029Member_DOM61O-9RkadksBpNLIELQ" decimals="5" format="ixt:numdotdecimal" name="us-gaap:DebtInstrumentInterestRateStatedPercentage" scale="-2" id="Narr_vo-OWlv23US06bzOrs04kw">3.625</ix:nonFraction>% per year, payable semiannually in arrears on March 15 and September 15, beginning on September 15, 2021. The <ix:nonFraction unitRef="Unit_Standard_pure_AMt-SnY1f0Gk50TcxvjL4w" contextRef="As_Of_3_31_2023_us-gaap_DebtInstrumentAxis_bld_SeniorNotesDue2029Member_DOM61O-9RkadksBpNLIELQ" decimals="5" format="ixt:numdotdecimal" name="us-gaap:DebtInstrumentInterestRateStatedPercentage" scale="-2" id="Narr_JbEz3wAQuUCqfrQ-Iudk_A">3.625</ix:nonFraction>% Senior Notes mature on March 15, 2029, unless redeemed early or repurchased. If we undergo a change in control, we must make an offer to repurchase all of the <ix:nonFraction unitRef="Unit_Standard_pure_AMt-SnY1f0Gk50TcxvjL4w" contextRef="As_Of_3_31_2023_us-gaap_DebtInstrumentAxis_bld_SeniorNotesDue2029Member_DOM61O-9RkadksBpNLIELQ" decimals="5" format="ixt:numdotdecimal" name="us-gaap:DebtInstrumentInterestRateStatedPercentage" scale="-2" id="Narr_WALSZZqnR06c7h-oVxgyRw">3.625</ix:nonFraction>% Senior Notes then outstanding at a repurchase price equal to <ix:nonFraction unitRef="Unit_Standard_pure_AMt-SnY1f0Gk50TcxvjL4w" contextRef="Duration_1_1_2023_To_3_31_2023_srt_StatementScenarioAxis_bld_ChangeInControlScenarioMember_us-gaap_DebtInstrumentAxis_bld_SeniorNotesDue2029Member_8bJwG2vTOE2tQdDW0urVWQ" decimals="2" format="ixt:numdotdecimal" name="us-gaap:DebtInstrumentRedemptionPricePercentage" scale="-2" id="Narr_zjK1xyDbsEKGaqgesl1qEw">101</ix:nonFraction>% of their aggregate principal amount, plus accrued and unpaid interest (if any) to, but not including, the repurchase date.&#160; </p><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="font-size:10pt;margin-bottom:5pt;margin-top:5pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;">The Company may redeem the <ix:nonFraction unitRef="Unit_Standard_pure_AMt-SnY1f0Gk50TcxvjL4w" contextRef="As_Of_3_31_2023_us-gaap_DebtInstrumentAxis_bld_SeniorNotesDue2029Member_DOM61O-9RkadksBpNLIELQ" decimals="5" format="ixt:numdotdecimal" name="us-gaap:DebtInstrumentInterestRateStatedPercentage" scale="-2" id="Narr_orHx4czqk0WzH7h7QXJs1w">3.625</ix:nonFraction>% Senior Notes, in whole or in part, at any time on or after March 15, 2024 at the redemption prices specified in the notes. &#160;The Company may also redeem all or part of the <ix:nonFraction unitRef="Unit_Standard_pure_AMt-SnY1f0Gk50TcxvjL4w" contextRef="As_Of_3_31_2023_us-gaap_DebtInstrumentAxis_bld_SeniorNotesDue2029Member_DOM61O-9RkadksBpNLIELQ" decimals="5" format="ixt:numdotdecimal" name="us-gaap:DebtInstrumentInterestRateStatedPercentage" scale="-2" id="Narr_uP9tqcO0l0m0ROJXKSschw">3.625</ix:nonFraction>% Senior Notes at any time prior to March 15, 2024 at a redemption price equal to <ix:nonFraction unitRef="Unit_Standard_pure_AMt-SnY1f0Gk50TcxvjL4w" contextRef="Duration_1_1_2023_To_3_31_2023_srt_StatementScenarioAxis_bld_DebtInstrumentRedemptionOptionOneMember_us-gaap_DebtInstrumentAxis_bld_SeniorNotesDue2029Member_us-gaap_DebtInstrumentRedemptionPeriodAxis_us-gaap_DebtInstrumentRedemptionPeriodOneMember_sEFQPw4nBUudNRhTU7pKow" decimals="2" format="ixt:numdotdecimal" name="us-gaap:DebtInstrumentRedemptionPricePercentage" scale="-2" id="Narr_zrmsx5vpx0aOg8SOKW6Vuw">100</ix:nonFraction>% of the principal amount of the notes to be redeemed, plus the Applicable Premium (as defined in the notes), as of, and accrued and unpaid interest to, the redemption date. Additionally, the Company may redeem up to <ix:nonFraction unitRef="Unit_Standard_pure_AMt-SnY1f0Gk50TcxvjL4w" contextRef="Duration_1_1_2023_To_3_31_2023_srt_RangeAxis_srt_MaximumMember_srt_StatementScenarioAxis_bld_DebtInstrumentRedemptionOptionTwoMember_us-gaap_DebtInstrumentAxis_bld_SeniorNotesDue2029Member_us-gaap_DebtInstrumentRedemptionPeriodAxis_us-gaap_DebtInstrumentRedemptionPeriodOneMember_Qng4sg2WhkOsz-Y-k_kiQA" decimals="2" format="ixt:numdotdecimal" name="us-gaap:DebtInstrumentRedemptionPricePercentageOfPrincipalAmountRedeemed" scale="-2" id="Narr_Mtz2Tl8pnEqbSULnHy-jLg">40</ix:nonFraction>% of the aggregate principal amount of the <ix:nonFraction unitRef="Unit_Standard_pure_AMt-SnY1f0Gk50TcxvjL4w" contextRef="As_Of_3_31_2023_us-gaap_DebtInstrumentAxis_bld_SeniorNotesDue2029Member_DOM61O-9RkadksBpNLIELQ" decimals="5" format="ixt:numdotdecimal" name="us-gaap:DebtInstrumentInterestRateStatedPercentage" scale="-2" id="Narr_iUIvq3pKFUazz4wNislXBQ">3.625</ix:nonFraction>% Senior Notes prior to March 15, 2024 with the net cash proceeds of certain sales of its capital stock at <ix:nonFraction unitRef="Unit_Standard_pure_AMt-SnY1f0Gk50TcxvjL4w" contextRef="Duration_1_1_2023_To_3_31_2023_srt_StatementScenarioAxis_bld_DebtInstrumentRedemptionOptionTwoMember_us-gaap_DebtInstrumentRedemptionPeriodAxis_us-gaap_DebtInstrumentRedemptionPeriodOneMember_gYS1QElbA06_C_hcxzcVwg" decimals="5" format="ixt:numdotdecimal" name="us-gaap:DebtInstrumentRedemptionPricePercentage" scale="-2" id="Narr_rv0CAQC6Jk6CHslaloreLw">103.625</ix:nonFraction>% of the principal amount of the notes, plus accrued and unpaid interest, if any, to the date of redemption only if, after the redemption, at least <ix:nonFraction unitRef="Unit_Standard_pure_AMt-SnY1f0Gk50TcxvjL4w" contextRef="Duration_1_1_2023_To_3_31_2023_srt_StatementScenarioAxis_bld_DebtInstrumentRedemptionOptionTwoMember_us-gaap_DebtInstrumentRedemptionPeriodAxis_us-gaap_DebtInstrumentRedemptionPeriodOneMember_gYS1QElbA06_C_hcxzcVwg" decimals="2" format="ixt:numdotdecimal" name="bld:DebtInstrumentConditionalRedemptionThresholdPercentageOfAggregatePrincipalAmountOriginallyIssuedRemainsOutstanding" scale="-2" id="Narr_0R3svnAHhUicJ-aM5y4xTw">60</ix:nonFraction>% of the aggregate principal amount of the <ix:nonFraction unitRef="Unit_Standard_pure_AMt-SnY1f0Gk50TcxvjL4w" contextRef="As_Of_3_31_2023_us-gaap_DebtInstrumentAxis_bld_SeniorNotesDue2029Member_DOM61O-9RkadksBpNLIELQ" decimals="5" format="ixt:numdotdecimal" name="us-gaap:DebtInstrumentInterestRateStatedPercentage" scale="-2" id="Narr_yPwEzYeKaUuS-n7sx-Iqhw">3.625</ix:nonFraction>% Senior Notes originally issued remains outstanding.</p><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="font-size:10pt;margin-bottom:5pt;margin-top:5pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><i style="font-style:italic;"><ix:nonFraction unitRef="Unit_Standard_pure_AMt-SnY1f0Gk50TcxvjL4w" contextRef="As_Of_3_31_2023_us-gaap_DebtInstrumentAxis_bld_SeniorNotesDue2032Member_wZRT4AY8v0CM8wazDvvqiw" decimals="5" format="ixt:numdotdecimal" name="us-gaap:DebtInstrumentInterestRateStatedPercentage" scale="-2" id="Narr_U5-z2XLiLkanvPoQ26OUGw">4.125</ix:nonFraction>%</i><i style="font-style:italic;"> Senior Notes</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;line-height:1.19;margin:0pt;"><span style="font-size:10pt;margin-bottom:5pt;margin-top:5pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;">The <ix:nonFraction unitRef="Unit_Standard_pure_AMt-SnY1f0Gk50TcxvjL4w" contextRef="As_Of_3_31_2023_us-gaap_DebtInstrumentAxis_bld_SeniorNotesDue2032Member_wZRT4AY8v0CM8wazDvvqiw" decimals="5" format="ixt:numdotdecimal" name="us-gaap:DebtInstrumentInterestRateStatedPercentage" scale="-2" id="Narr_U8CfAJalbESjkTWs06EvZQ">4.125</ix:nonFraction>% Senior Notes are $<ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="As_Of_3_31_2023_us-gaap_DebtInstrumentAxis_bld_SeniorNotesDue2032Member_wZRT4AY8v0CM8wazDvvqiw" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:DebtInstrumentFaceAmount" scale="6" id="Narr_wB9zrtpa5kWmXgbp1a8ftg">500.0</ix:nonFraction> million senior unsecured obligations and bear interest at <ix:nonFraction unitRef="Unit_Standard_pure_AMt-SnY1f0Gk50TcxvjL4w" contextRef="As_Of_3_31_2023_us-gaap_DebtInstrumentAxis_bld_SeniorNotesDue2032Member_wZRT4AY8v0CM8wazDvvqiw" decimals="5" format="ixt:numdotdecimal" name="us-gaap:DebtInstrumentInterestRateStatedPercentage" scale="-2" id="Narr_tC7kXHQJG02oWUsH5sQVfA">4.125</ix:nonFraction>% per year, payable semiannually in arrears on February 15 and August 15, beginning on August 15, 2022. The <ix:nonFraction unitRef="Unit_Standard_pure_AMt-SnY1f0Gk50TcxvjL4w" contextRef="As_Of_3_31_2023_us-gaap_DebtInstrumentAxis_bld_SeniorNotesDue2032Member_wZRT4AY8v0CM8wazDvvqiw" decimals="5" format="ixt:numdotdecimal" name="us-gaap:DebtInstrumentInterestRateStatedPercentage" scale="-2" id="Narr_Sv4WpZQgpEK8Frymn9x5RA">4.125</ix:nonFraction>% Senior Notes mature on February 15, 2032, unless redeemed early or repurchased. If we undergo a change in control, we must make an offer to repurchase all of the <ix:nonFraction unitRef="Unit_Standard_pure_AMt-SnY1f0Gk50TcxvjL4w" contextRef="As_Of_3_31_2023_us-gaap_DebtInstrumentAxis_bld_SeniorNotesDue2032Member_wZRT4AY8v0CM8wazDvvqiw" decimals="5" format="ixt:numdotdecimal" name="us-gaap:DebtInstrumentInterestRateStatedPercentage" scale="-2" id="Narr_0Mc9eLpp-kWrxcp0HiMdJQ">4.125</ix:nonFraction>% Senior Notes then outstanding at a repurchase price equal to <ix:nonFraction unitRef="Unit_Standard_pure_AMt-SnY1f0Gk50TcxvjL4w" contextRef="Duration_1_1_2023_To_3_31_2023_srt_StatementScenarioAxis_bld_ChangeInControlScenarioMember_us-gaap_DebtInstrumentAxis_bld_SeniorNotesDue2032Member_ovCTkehJLk2CCnOsFEkaeQ" decimals="2" format="ixt:numdotdecimal" name="us-gaap:DebtInstrumentRedemptionPricePercentage" scale="-2" id="Narr_ctvCj8J7Zk-lA8F9qtWqAg">101</ix:nonFraction>% of their aggregate principal amount, plus accrued and unpaid interest (if any) to, but not including, the repurchase date.&#160; </p><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="font-size:10pt;margin-bottom:5pt;margin-top:5pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;">The Company may redeem the <ix:nonFraction unitRef="Unit_Standard_pure_AMt-SnY1f0Gk50TcxvjL4w" contextRef="As_Of_3_31_2023_us-gaap_DebtInstrumentAxis_bld_SeniorNotesDue2032Member_wZRT4AY8v0CM8wazDvvqiw" decimals="5" format="ixt:numdotdecimal" name="us-gaap:DebtInstrumentInterestRateStatedPercentage" scale="-2" id="Narr_zYvU8HevckKh7IM2WzLYtQ">4.125</ix:nonFraction>% Senior Notes, in whole or in part, at any time on or after October 15, 2026 at the redemption prices specified in the notes plus accrued and unpaid interest if redeemed during the 12 month period commencing on October 15 of the years set for: 2026 &#8211; <ix:nonFraction unitRef="Unit_Standard_pure_AMt-SnY1f0Gk50TcxvjL4w" contextRef="Duration_1_1_2023_To_3_31_2023_us-gaap_DebtInstrumentAxis_bld_SeniorNotesDue2032Member_us-gaap_DebtInstrumentRedemptionPeriodAxis_us-gaap_DebtInstrumentRedemptionPeriodTwoMember_Uf2SNkmu_UCzFdtYb5gYiA" decimals="5" format="ixt:numdotdecimal" name="us-gaap:DebtInstrumentRedemptionPricePercentage" scale="-2" id="Narr_XI29Mfy-EUmhMqnLwFBX-g">102.063</ix:nonFraction>%, 2027 &#8211; <ix:nonFraction unitRef="Unit_Standard_pure_AMt-SnY1f0Gk50TcxvjL4w" contextRef="Duration_1_1_2023_To_3_31_2023_us-gaap_DebtInstrumentAxis_bld_SeniorNotesDue2032Member_us-gaap_DebtInstrumentRedemptionPeriodAxis_us-gaap_DebtInstrumentRedemptionPeriodThreeMember_N6gkmcD8rk-8DZDJ_hb7qw" decimals="5" format="ixt:numdotdecimal" name="us-gaap:DebtInstrumentRedemptionPricePercentage" scale="-2" id="Narr_PrmoiKs7ikupEmShxh5t-Q">101.375</ix:nonFraction>%, 2028 &#8211; <ix:nonFraction unitRef="Unit_Standard_pure_AMt-SnY1f0Gk50TcxvjL4w" contextRef="Duration_1_1_2023_To_3_31_2023_us-gaap_DebtInstrumentAxis_bld_SeniorNotesDue2032Member_us-gaap_DebtInstrumentRedemptionPeriodAxis_us-gaap_DebtInstrumentRedemptionPeriodFourMember_LXkwlZf-VEaa26BHzD7nGg" decimals="5" format="ixt:numdotdecimal" name="us-gaap:DebtInstrumentRedemptionPricePercentage" scale="-2" id="Narr_7lOp_XgGx0KhsZbl3sr8Ig">100.688</ix:nonFraction>%, 2029 and thereafter &#8211; <ix:nonFraction unitRef="Unit_Standard_pure_AMt-SnY1f0Gk50TcxvjL4w" contextRef="Duration_1_1_2023_To_3_31_2023_us-gaap_DebtInstrumentAxis_bld_SeniorNotesDue2032Member_us-gaap_DebtInstrumentRedemptionPeriodAxis_us-gaap_DebtInstrumentRedemptionPeriodFiveMember_CbXd6uRwOkejk9hh_PWcpA" decimals="5" format="ixt:numdotdecimal" name="us-gaap:DebtInstrumentRedemptionPricePercentage" scale="-2" id="Narr_OcXYZUI_2km0lADdUZo0mQ">100.000</ix:nonFraction>%. The Company may also redeem a make-whole redemption of the <ix:nonFraction unitRef="Unit_Standard_pure_AMt-SnY1f0Gk50TcxvjL4w" contextRef="As_Of_3_31_2023_us-gaap_DebtInstrumentAxis_bld_SeniorNotesDue2032Member_wZRT4AY8v0CM8wazDvvqiw" decimals="5" format="ixt:numdotdecimal" name="us-gaap:DebtInstrumentInterestRateStatedPercentage" scale="-2" id="Narr_JR_1ZycwZ0KCZypEh0UDEg">4.125</ix:nonFraction>% Senior Notes at any time prior to October 15, 2026 at the treasury rate plus <ix:nonFraction unitRef="Unit_Standard_pure_AMt-SnY1f0Gk50TcxvjL4w" contextRef="Duration_1_1_2023_To_3_31_2023_us-gaap_DebtInstrumentAxis_bld_SeniorNotesDue2032Member_us-gaap_DebtInstrumentRedemptionPeriodAxis_bld_DebtInstrumentRedemptionPeriodSixMember_FWHXZNoK0ECpaOEjmSmchQ" decimals="3" format="ixt:numdotdecimal" name="bld:DebtInstrumentRedemptionPriceBasisSpreadOnTreasuryRate" scale="-4" id="Narr_4DrMk0_eKUCJKUbKcoOw0Q">50</ix:nonFraction> basis points. Additionally, the Company may redeem up to <ix:nonFraction unitRef="Unit_Standard_pure_AMt-SnY1f0Gk50TcxvjL4w" contextRef="Duration_1_1_2023_To_3_31_2023_us-gaap_DebtInstrumentAxis_bld_SeniorNotesDue2032Member_us-gaap_DebtInstrumentRedemptionPeriodAxis_bld_DebtInstrumentRedemptionPeriodSevenMember_DYvPsDtYMEqPyF1Xdb-yng" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:DebtInstrumentRedemptionPricePercentageOfPrincipalAmountRedeemed" scale="-2" id="Narr_H8Efh2-b50iJO1sxvFRJbg">40</ix:nonFraction>% of the aggregate principal amount of the <ix:nonFraction unitRef="Unit_Standard_pure_AMt-SnY1f0Gk50TcxvjL4w" contextRef="As_Of_3_31_2023_us-gaap_DebtInstrumentAxis_bld_SeniorNotesDue2032Member_wZRT4AY8v0CM8wazDvvqiw" decimals="5" format="ixt:numdotdecimal" name="us-gaap:DebtInstrumentInterestRateStatedPercentage" scale="-2" id="Narr_h3VQUfv2jEOcqB5Gid8FIw">4.125</ix:nonFraction>% Senior Notes prior to October 15, 2024 with the net cash proceeds of certain sales of its capital stock at <ix:nonFraction unitRef="Unit_Standard_pure_AMt-SnY1f0Gk50TcxvjL4w" contextRef="Duration_1_1_2023_To_3_31_2023_us-gaap_DebtInstrumentAxis_bld_SeniorNotesDue2032Member_us-gaap_DebtInstrumentRedemptionPeriodAxis_bld_DebtInstrumentRedemptionPeriodSevenMember_DYvPsDtYMEqPyF1Xdb-yng" decimals="5" format="ixt:numdotdecimal" name="us-gaap:DebtInstrumentRedemptionPricePercentage" scale="-2" id="Narr_uJl1eEKvp0CtofPixrEa3w">104.125</ix:nonFraction>% of the principal amount of the notes, plus accrued and unpaid interest, if any, to the date of redemption only if, after the redemption, at least <ix:nonFraction unitRef="Unit_Standard_pure_AMt-SnY1f0Gk50TcxvjL4w" contextRef="Duration_1_1_2023_To_3_31_2023_us-gaap_DebtInstrumentAxis_bld_SeniorNotesDue2032Member_us-gaap_DebtInstrumentRedemptionPeriodAxis_bld_DebtInstrumentRedemptionPeriodSevenMember_DYvPsDtYMEqPyF1Xdb-yng" decimals="INF" format="ixt:numdotdecimal" name="bld:DebtInstrumentConditionalRedemptionThresholdPercentageOfAggregatePrincipalAmountOriginallyIssuedRemainsOutstanding" scale="-2" id="Narr_r-dpei6w5U2o-__0zjmHvw">60</ix:nonFraction>% of the aggregate principal amount of the notes originally issued remains outstanding.</p><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="font-size:10pt;margin-bottom:5pt;margin-top:5pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;">Equipment Notes</i> </p><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="font-size:10pt;">We did not issue equipment notes during the three months ended March 31, 2023. &#160;The company has issued </span><span style="font-size:10pt;">$<ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="As_Of_3_31_2023_us-gaap_LongtermDebtTypeAxis_bld_EquipmentNotesMember_CzofN1GTuUe3vubWUs9Peg" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:DebtInstrumentFaceAmount" scale="6" id="Narr_8D1HUbnJy0edqjSOdDkd7A">41.6</ix:nonFraction></span><span style="font-size:10pt;"> </span><span style="font-size:10pt;">million of equipment notes for the purpose of financing the purchase of vehicles and equipment. The Company&#8217;s equipment notes each have a </span><ix:nonNumeric contextRef="Duration_1_1_2023_To_3_31_2023_us-gaap_LongtermDebtTypeAxis_bld_EquipmentNotesMember_38hIL-nurk-bWvbPSWuPhw" format="ixt-sec:durwordsen" name="us-gaap:DebtInstrumentTerm" id="Narr_qThnTU4g1kGdrBmxVqdNcw"><span style="font-size:10pt;">five year</span></ix:nonNumeric><span style="font-size:10pt;"> term maturing in 2023 and 2024 and bear interest at fixed rates between </span><span style="font-size:10pt;"><ix:nonFraction unitRef="Unit_Standard_pure_AMt-SnY1f0Gk50TcxvjL4w" contextRef="As_Of_3_31_2023_srt_RangeAxis_srt_MinimumMember_us-gaap_LongtermDebtTypeAxis_bld_EquipmentNotesMember_4MaAYR9PWEaXbwn81Fwg-A" decimals="3" format="ixt:numdotdecimal" name="us-gaap:DebtInstrumentInterestRateStatedPercentage" scale="-2" id="Narr_i7TLfLclKkqYAdHsWHD58w">2.8</ix:nonFraction>%</span><span style="font-size:10pt;"> and </span><span style="font-size:10pt;"><ix:nonFraction unitRef="Unit_Standard_pure_AMt-SnY1f0Gk50TcxvjL4w" contextRef="As_Of_3_31_2023_srt_RangeAxis_srt_MaximumMember_us-gaap_LongtermDebtTypeAxis_bld_EquipmentNotesMember_prYnYqy7Z0OOQcGXKxoX2g" decimals="3" format="ixt:numdotdecimal" name="us-gaap:DebtInstrumentInterestRateStatedPercentage" scale="-2" id="Narr_wrChq0h6jEazrcvj7fYYGg">4.4</ix:nonFraction>%</span><span style="font-size:10pt;">. </span></p><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;line-height:1.19;margin:0pt;"><span style="font-size:10pt;margin-bottom:5pt;margin-top:5pt;visibility:hidden;">&#8203;</span></p></ix:continuation></div><div style="clear:both;display:table;margin-bottom:30pt;min-height:0.35pt;width:100%;"><div style="display:table-cell;vertical-align:bottom;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:12pt 0pt 0pt 0pt;">13</p></div></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:79.3%;border:0;margin:30pt 10.35% 30pt 10.35%;"></div><div style="max-width:100%;padding-left:10.35%;padding-right:10.35%;position:relative;"><div style="margin-top:21.6pt;min-height:41.75pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt 0pt 30pt 0pt;"><a href="#Toc"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">TOPBUILD CORP.</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">NOTES TO CONDENSED CONSOLIDATED FINANCIAL STATEMENTS (Continued)</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></div><div style="clear:both;max-width:100%;position:relative;"><ix:continuation id="Tb_Ml401cZkmk6o29y06_Cgbw_cont3"><p style="font-family:'Times New Roman','Times','serif';font-size:1pt;line-height:1.28;margin:0pt 0pt 8pt 0pt;">&#160; <i style="font-size:10pt;font-style:italic;">Covenant Compliance</i><span style="font-size:10pt;"> </span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;">The indentures governing our <ix:nonFraction unitRef="Unit_Standard_pure_AMt-SnY1f0Gk50TcxvjL4w" contextRef="As_Of_3_31_2023_us-gaap_DebtInstrumentAxis_bld_SeniorNotesDue2029Member_DOM61O-9RkadksBpNLIELQ" decimals="5" format="ixt:numdotdecimal" name="us-gaap:DebtInstrumentInterestRateStatedPercentage" scale="-2" id="Narr_uyBzQFHLg0qjRTwlLUCGJg">3.625</ix:nonFraction>% Senior Notes and our <ix:nonFraction unitRef="Unit_Standard_pure_AMt-SnY1f0Gk50TcxvjL4w" contextRef="As_Of_3_31_2023_us-gaap_DebtInstrumentAxis_bld_SeniorNotesDue2032Member_wZRT4AY8v0CM8wazDvvqiw" decimals="5" format="ixt:numdotdecimal" name="us-gaap:DebtInstrumentInterestRateStatedPercentage" scale="-2" id="Narr_ZtGJCj1a6E6tf05CtTTAqQ">4.125</ix:nonFraction>% Senior Notes (together, our &#8220;Senior Notes&#8221;) contain restrictive covenants that, among other things, generally limit the ability of the Company and certain of its subsidiaries (subject to certain exceptions) to (i) create liens, (ii) pay dividends, acquire shares of capital stock and make payments on subordinated debt, (iii) place limitations on distributions from certain subsidiaries, (iv) issue or sell the capital stock of certain subsidiaries, (v) sell assets, (vi) enter into transactions with affiliates and (vii) effect mergers. &#160;The indentures provide for customary events of default which include (subject in certain cases to customary grace and cure periods), among others: nonpayment of principal or interest; breach of covenants or other agreements in the indenture; defaults in failure to pay certain other indebtedness; and certain events of bankruptcy or insolvency. Generally, if an event of default occurs and is continuing under the indenture, the trustee or the holders of at least <ix:nonFraction unitRef="Unit_Standard_pure_AMt-SnY1f0Gk50TcxvjL4w" contextRef="Duration_1_1_2023_To_3_31_2023_srt_StatementScenarioAxis_bld_EventOfDefaultScenarioMember_us-gaap_LongtermDebtTypeAxis_us-gaap_SeniorNotesMember_EVRX7VtzGkydUssIcKC12g" decimals="INF" format="ixt:numdotdecimal" name="bld:MinimumPercentageOfDebtImmediatelyDueAndPayable" scale="-2" id="Narr_jVPSaI6XpUK6cl_z3wOknw">30</ix:nonFraction>% in aggregate principal amount of each of our Senior Notes then outstanding may declare the principal of, premium, if any, and accrued interest on the Senior Notes subject to such declaration immediately due and payable. The Senior Notes and related guarantees have not been registered under the Securities Act of 1933, and we are not required to register either the Senior Notes or the guarantees in the future. </p><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="font-size:10pt;margin-bottom:5pt;margin-top:5pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;">The Credit Agreement contains certain covenants that limit, among other things, the ability of the Company to incur additional indebtedness or liens; to make certain investments or loans; to make certain restricted payments; to enter into consolidations, mergers, sales of material assets, and other fundamental changes; to transact with affiliates; to enter into agreements restricting the ability of subsidiaries to incur liens or pay dividends; or to make certain accounting changes.&#160;&#160;The Credit Agreement contains customary affirmative covenants and events of default. </p><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="font-size:10pt;margin-bottom:5pt;margin-top:5pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;">The Credit Agreement requires that we maintain a Net Leverage Ratio and minimum Interest Coverage Ratio throughout the term of the agreement. &#160;The following table outlines the key financial covenants effective for the period covered by this Quarterly Report:</p><ix:nonNumeric contextRef="Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA" name="bld:ScheduleOfKeyFinancialCovenantsTableTextBlock" id="Tb_0aFN1aJqGk2Ys_w7dU3QGw" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="font-size:10pt;margin-bottom:5pt;margin-top:5pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;white-space:nowrap;width:75.81%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.74%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:22.43%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:75.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-family:'Arial','Helvetica','sans-serif';font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:22.43%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">As of March&#160;31,&#160;2023</b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:75.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">Maximum Net Leverage Ratio</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.74%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:22.43%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><ix:nonFraction unitRef="Unit_Standard_pure_AMt-SnY1f0Gk50TcxvjL4w" contextRef="Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA" decimals="2" format="ixt:numdotdecimal" name="bld:DebtInstrumentCovenantNetLeverageRatio" scale="0" id="Narr_8kFvZza0lk6tT47C3Me6_Q">3.50</ix:nonFraction>:1.00</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:75.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">Minimum Interest Coverage Ratio</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:22.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><ix:nonFraction unitRef="Unit_Standard_pure_AMt-SnY1f0Gk50TcxvjL4w" contextRef="Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA" decimals="2" format="ixt:numdotdecimal" name="bld:DebtInstrumentCovenantMinimumInterestCoverageRatio" scale="0" id="Narr_uxvW9pbijE-iY77Bhw2Bgw">3.00</ix:nonFraction>:1.00</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:75.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">Compliance as of period end</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.74%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:22.43%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;">In Compliance</p></td></tr></table></ix:nonNumeric><p style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></ix:continuation><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><a id="Tc_KS3-1s3vQ0SCKJpjHMbg1Q_1_2"></a><a id="Tc_WTBUUYWlXEy8IVS2gqAOEw_2_3"></a><a id="Tc_XLvy-_NPPUKw-l1AeSC0-Q_2_6"></a><a id="Tc_CQdykUxr8E-irKmjDIocpg_3_0"></a><a id="Tc_sNGFS-6dwE2F_LLWQWKGlw_3_2"></a><a id="Tc_tSL5HoD73kmt8d1PbWhJGg_3_5"></a><a id="Tc_f7YjtiFrKUur4f9KrpPXow_4_0"></a><a id="Tc_uDwCJykC10CCka25CEnmug_4_2"></a><a id="Tc_dDJtWhd7U0iyG-l7bzYVFw_4_5"></a><ix:nonNumeric contextRef="Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA" name="us-gaap:FairValueDisclosuresTextBlock" id="Tb_ko8qw4QeXEGsJHH4LYSnwQ" continuedAt="Tb_ko8qw4QeXEGsJHH4LYSnwQ_cont1" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.28;margin:0pt 0pt 8pt 0pt;"><b style="font-weight:bold;">6</b>.<b style="font-weight:bold;white-space:pre-wrap;">  FAIR VALUE MEASUREMENTS</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:11.0pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">Fair Value on Recurring Basis</b> </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:11.0pt;text-align:justify;margin:0pt;">The carrying values of cash and cash equivalents, receivables, net, and accounts payable are considered to be representative of their respective fair values due to the short-term nature of these instruments. </p><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;min-height:11.0pt;text-align:justify;margin:0pt;"><span style="line-height:1.19;margin-bottom:5pt;margin-top:5pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:11.0pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">Fair Value on Non-Recurring Basis</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:11.0pt;text-align:justify;margin:0pt 0pt 6pt 0pt;">Fair value measurements were applied to our long-term debt portfolio.<span style="font-size:12pt;"> &#160;</span>We believe the carrying value of our term loan and equipment notes approximate their fair market value primarily due to the fact that the non-performance risk of servicing our debt obligations, as reflected in our business and credit risk profile, has not materially changed since we assumed our debt obligations under the Credit Agreement.&#160;&#160;In addition, due to the floating-rate nature of our term loan, the market value is not subject to variability solely due to changes in the general level of interest rates as is the case with a fixed-rate debt obligation. &#160;Based on market trades of our <ix:nonFraction unitRef="Unit_Standard_pure_AMt-SnY1f0Gk50TcxvjL4w" contextRef="As_Of_3_31_2023_us-gaap_DebtInstrumentAxis_bld_SeniorNotesDue2029Member_us-gaap_FairValueByFairValueHierarchyLevelAxis_us-gaap_FairValueInputsLevel1Member_us-gaap_FairValueByMeasurementFrequencyAxis_us-gaap_FairValueMeasurementsNonrecurringMember_Vn-k2wVUmUWYtrxkKGQteA" decimals="5" format="ixt:numdotdecimal" name="us-gaap:DebtInstrumentInterestRateStatedPercentage" scale="-2" id="Narr_wCB2ftDWp02Dy6YpJtTcBA">3.625</ix:nonFraction>% Senior Notes and our <ix:nonFraction unitRef="Unit_Standard_pure_AMt-SnY1f0Gk50TcxvjL4w" contextRef="As_Of_3_31_2023_us-gaap_DebtInstrumentAxis_bld_SeniorNotesDue2032Member_us-gaap_FairValueByFairValueHierarchyLevelAxis_us-gaap_FairValueInputsLevel1Member_us-gaap_FairValueByMeasurementFrequencyAxis_us-gaap_FairValueMeasurementsNonrecurringMember_LshrsCbxZU-qxa8vQD6lCw" decimals="5" format="ixt:numdotdecimal" name="us-gaap:DebtInstrumentInterestRateStatedPercentage" scale="-2" id="Narr_oQS0zP3yzUuBywz5ZOpwAw">4.125</ix:nonFraction>% Senior Notes close to March 31, 2023 (Level 1 fair value measurement), we estimate the fair value of each in the table below: &#160;</p><ix:nonNumeric contextRef="Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA" name="us-gaap:FairValueLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTableTextBlock" id="Tb_bhXbFP8Epk6Nrhot6AyFAg" continuedAt="Tb_bhXbFP8Epk6Nrhot6AyFAg_cont1" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;line-height:1.19;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;white-space:nowrap;width:65.31%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;margin-bottom:0pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;margin-bottom:0pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;margin-bottom:0pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.15%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;margin-bottom:0pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;margin-bottom:0pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;margin-bottom:0pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:17.51%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;margin-bottom:0pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:65.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;margin-bottom:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;margin-bottom:0pt;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:33.18%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">As of March&#160;31,&#160;2023</b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:65.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;margin-bottom:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;margin-bottom:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;margin-bottom:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Fair Value</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;margin-bottom:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;margin-bottom:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Gross Carrying Value</b></p></td></tr><tr><td style="vertical-align:bottom;width:65.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;"><ix:nonFraction unitRef="Unit_Standard_pure_AMt-SnY1f0Gk50TcxvjL4w" contextRef="As_Of_3_31_2023_us-gaap_DebtInstrumentAxis_bld_SeniorNotesDue2029Member_us-gaap_FairValueByFairValueHierarchyLevelAxis_us-gaap_FairValueInputsLevel1Member_us-gaap_FairValueByMeasurementFrequencyAxis_us-gaap_FairValueMeasurementsNonrecurringMember_Vn-k2wVUmUWYtrxkKGQteA" decimals="5" format="ixt:numdotdecimal" name="us-gaap:DebtInstrumentInterestRateStatedPercentage" scale="-2" id="Narr_rm-LzqMeU0WxkssDYNwTGQ">3.625</ix:nonFraction>% Senior Notes</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;margin-bottom:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="As_Of_3_31_2023_us-gaap_DebtInstrumentAxis_bld_SeniorNotesDue2029Member_us-gaap_FairValueByFairValueHierarchyLevelAxis_us-gaap_FairValueInputsLevel1Member_us-gaap_FairValueByMeasurementFrequencyAxis_us-gaap_FairValueMeasurementsNonrecurringMember_Vn-k2wVUmUWYtrxkKGQteA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DebtInstrumentFairValue" scale="3" id="Tc_DhukTMWOHEqxVx9WQowdJQ_3_3">348,580</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;margin-bottom:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="As_Of_3_31_2023_us-gaap_DebtInstrumentAxis_bld_SeniorNotesDue2029Member_DOM61O-9RkadksBpNLIELQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DebtInstrumentCarryingAmount" scale="3" id="Tc_SpDEGVB_ika2gaDz92A7Fg_3_6">400,000</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:65.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;"><ix:nonFraction unitRef="Unit_Standard_pure_AMt-SnY1f0Gk50TcxvjL4w" contextRef="As_Of_3_31_2023_us-gaap_DebtInstrumentAxis_bld_SeniorNotesDue2032Member_us-gaap_FairValueByFairValueHierarchyLevelAxis_us-gaap_FairValueInputsLevel1Member_us-gaap_FairValueByMeasurementFrequencyAxis_us-gaap_FairValueMeasurementsNonrecurringMember_LshrsCbxZU-qxa8vQD6lCw" decimals="5" format="ixt:numdotdecimal" name="us-gaap:DebtInstrumentInterestRateStatedPercentage" scale="-2" id="Narr_D2qfDRI3FEW5mF6lgt-xhg">4.125</ix:nonFraction>% Senior Notes</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;margin-bottom:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="As_Of_3_31_2023_us-gaap_DebtInstrumentAxis_bld_SeniorNotesDue2032Member_us-gaap_FairValueByFairValueHierarchyLevelAxis_us-gaap_FairValueInputsLevel1Member_us-gaap_FairValueByMeasurementFrequencyAxis_us-gaap_FairValueMeasurementsNonrecurringMember_LshrsCbxZU-qxa8vQD6lCw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DebtInstrumentFairValue" scale="3" id="Tc_fEbeYPWqtU6sODFq74GOeg_4_3">427,500</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;margin-bottom:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="As_Of_3_31_2023_us-gaap_DebtInstrumentAxis_bld_SeniorNotesDue2032Member_wZRT4AY8v0CM8wazDvvqiw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DebtInstrumentCarryingAmount" scale="3" id="Tc_9EsgRbCSK0Or6qlhXbamDQ_4_6">500,000</ix:nonFraction></p></td></tr></table></ix:nonNumeric></ix:nonNumeric></div><div style="clear:both;display:table;margin-bottom:30pt;min-height:0.35pt;width:100%;"><div style="display:table-cell;vertical-align:bottom;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:12pt 0pt 0pt 0pt;">14</p></div></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:79.3%;border:0;margin:30pt 10.35% 30pt 10.35%;"></div><div style="max-width:100%;padding-left:10.35%;padding-right:10.35%;position:relative;"><div style="margin-top:21.6pt;min-height:41.75pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt 0pt 30pt 0pt;"><a href="#Toc"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">TOPBUILD CORP.</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">NOTES TO CONDENSED CONSOLIDATED FINANCIAL STATEMENTS (Continued)</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></div><div style="clear:both;max-width:100%;position:relative;min-height:9.2pt;"><ix:continuation id="Tb_ko8qw4QeXEGsJHH4LYSnwQ_cont1"><ix:continuation id="Tb_bhXbFP8Epk6Nrhot6AyFAg_cont1"></ix:continuation><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;min-height:11.0pt;text-align:justify;margin:0pt;"><span style="font-size:1pt;line-height:1.19;margin-bottom:5pt;margin-top:5pt;visibility:hidden;">&#8203;</span></p></ix:continuation><a id="_0e20619c_74ed_4d98_812a_c17f2e5fe546"></a><a id="Tc_8yi3_HT5X0idXzx3Fkki2Q_1_2"></a><a id="Tc_LgbBMdBq906offgU56ELUA_2_2"></a><a id="Tc_bw6NZm9SEUutndPpfPH8BA_2_5"></a><a id="Tc_7E3TMbY50kC_7PrNRllLUA_2_8"></a><a id="Tc_0iOScCXeOkeOLfq_bHt71w_2_11"></a><a id="Tc_VWkT5QuNlEKbYLR-LDmb0A_3_2"></a><a id="Tc_COLr7rit9UOcsGPd8qHMtA_3_8"></a><a id="Tc_JiO_JoRhvk20QcttQic9Iw_4_0"></a><a id="Tc_f2hdZQiFWEKvfmKjCFmyoQ_5_0"></a><a id="Tc_R5P9Ols-VEyDXL4BgpplPg_5_2"></a><a id="Tc_90MYceGJy0iQAewiQvo_9A_5_5"></a><a id="Tc_H2UTKMF4JkSUHt3FGCfyPQ_5_8"></a><a id="Tc_9KE4oAxGfUuZLW1f5K-ROQ_5_11"></a><a id="Tc_D6gPoc9qv0it_5jYVm47-A_6_0"></a><a id="Tc_vJt7NPLQhUy0tlZLkiRFsw_7_0"></a><a id="Tc_KLdp2zdn1kKN-vsdP6mNTA_8_0"></a><a id="Tc_J_pmG92dA0yvrtuxaLyeng_8_2"></a><a id="Tc_am-XfI81bEGofajYV__0kg_8_5"></a><a id="Tc_lU0-m_auYkekloRvcOioBA_9_0"></a><a id="Tc_Oz-nz4RdXk-kYrXAzeTm9w_10_0"></a><a id="Tc_Q05N_T4pt0uTmDOfRdfk6A_11_0"></a><a id="Tc_VcFiG2qYyEG3UKAa8QrCxw_12_0"></a><a id="Tc_uPfCCy0aIkazV6Hri_hksA_12_8"></a><a id="Tc_KlCoO0rPDkSjI0Sm_ngkHg_12_11"></a><ix:nonNumeric contextRef="Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA" name="us-gaap:SegmentReportingDisclosureTextBlock" id="Tb_cc81u-vaskOeR1U8Kty3Jw" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:14pt 0pt 0pt 0pt;"><b style="font-weight:bold;">7. &#160;SEGMENT INFORMATION</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><ix:nonNumeric contextRef="Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA" name="us-gaap:ScheduleOfSegmentReportingInformationBySegmentTextBlock" id="Tb_kiyIYKZos0mWPta--CZ1uw" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">The following tables set forth our net sales and operating results by segment, in thousands:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:47.94%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:0.56%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.87%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:0.55%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.87%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:0.55%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.87%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:0.55%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.87%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:47.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td colspan="11" style="vertical-align:bottom;white-space:nowrap;width:51.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Three Months Ended March&#160;31,&#160;</b></p></td></tr><tr><td style="vertical-align:bottom;width:47.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.47%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.47%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.47%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.38%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr style="height:0pt;visibility:hidden;"><td colspan="13" style="padding:0pt;"></td></tr><tr><td style="vertical-align:bottom;width:47.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:25.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Net Sales</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:25.41%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Operating Profit (b)</b></p></td></tr><tr><td style="vertical-align:bottom;width:47.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">Operations by segment (a):</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.56%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:47.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt 0pt 0pt 6pt;">Installation</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="Duration_1_1_2023_To_3_31_2023_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_bld_InstallationSegmentMember_p7381by8A0iuH_K9pq6dkA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="Tc_l_GRqWd-BkKxe1dHMKs8xQ_5_3">767,090</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="Duration_1_1_2022_To_3_31_2022_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_bld_InstallationSegmentMember_P5TLAe2eDUmNeH4h43zM0A" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="Tc_eAK9ym3g6U292zZvz4_luQ_5_6">676,693</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="Duration_1_1_2023_To_3_31_2023_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_bld_InstallationSegmentMember_p7381by8A0iuH_K9pq6dkA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingIncomeLoss" scale="3" id="Tc_-iTnxifSFUu9v4mUIJlwkA_5_9">146,897</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="Duration_1_1_2022_To_3_31_2022_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_bld_InstallationSegmentMember_P5TLAe2eDUmNeH4h43zM0A" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingIncomeLoss" scale="3" id="Tc_Lf7QEYHvREeYm7WKWfvz0A_5_12">112,679</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:47.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt 0pt 0pt 6pt;">Specialty Distribution</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.56%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="Duration_1_1_2023_To_3_31_2023_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_bld_DistributionSegmentMember_npMAeLxndk2Y3vlwNf6M1Q" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="Tc_riBVzm16gE61Qt9ZPZM6vA_6_3">558,375</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="Duration_1_1_2022_To_3_31_2022_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_bld_DistributionSegmentMember_a9OaAUHgnEO4Vuy42sZdWA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="Tc_Jq4SGsCmmkCAMQewyjd6bA_6_6">543,862</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="Duration_1_1_2023_To_3_31_2023_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_bld_DistributionSegmentMember_npMAeLxndk2Y3vlwNf6M1Q" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingIncomeLoss" scale="3" id="Tc_varHv7wg5U637PB-4_oHXg_6_9">73,333</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="Duration_1_1_2022_To_3_31_2022_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_bld_DistributionSegmentMember_a9OaAUHgnEO4Vuy42sZdWA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingIncomeLoss" scale="3" id="Tc_dUcHhwn6K0yxCvup-NmCbg_6_12">70,420</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:47.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt 0pt 0pt 6pt;">Intercompany eliminations</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.87%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="Duration_1_1_2023_To_3_31_2023_srt_ConsolidationItemsAxis_us-gaap_IntersegmentEliminationMember_OSnOoe8YMEG4QEekdapXgQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" sign="-" scale="3" id="Tc_0ZW_04xB7kKVvxvoM869RQ_7_3">60,227</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.87%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="Duration_1_1_2022_To_3_31_2022_srt_ConsolidationItemsAxis_us-gaap_IntersegmentEliminationMember_liO-tbyRL0OUMaNmtzOQRA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" sign="-" scale="3" id="Tc_F4IvgeGpIUWQMqILtxmFgg_7_6">51,637</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.87%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="Duration_1_1_2023_To_3_31_2023_srt_ConsolidationItemsAxis_us-gaap_IntersegmentEliminationMember_OSnOoe8YMEG4QEekdapXgQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingIncomeLoss" sign="-" scale="3" id="Tc_N8Jk324IukaPA3GdjkUnqg_7_9">9,971</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.87%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="Duration_1_1_2022_To_3_31_2022_srt_ConsolidationItemsAxis_us-gaap_IntersegmentEliminationMember_liO-tbyRL0OUMaNmtzOQRA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingIncomeLoss" sign="-" scale="3" id="Tc_Gkipt1S2i0SrT32Ii_Q9lg_7_12">8,708</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:47.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt 0pt 0pt 18pt;">Total</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.56%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.87%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="Tc_-M22h-HzxkmdyjTqZPSl_A_8_3">1,265,238</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.87%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="Duration_1_1_2022_To_3_31_2022_6vn3vE91T0CiaH7EkBeDAw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="Tc_wISCjlhK8kCqWCBTc2mOvQ_8_6">1,168,918</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="Duration_1_1_2023_To_3_31_2023_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_e6Vbhcmha0OvoC_c8bkFFg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingIncomeLoss" scale="3" id="Tc_9lblP8w5gUKtJeTt2oBzfA_8_9">210,259</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="Duration_1_1_2022_To_3_31_2022_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_hukAPRnnmUSUm_qzI6sjrg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingIncomeLoss" scale="3" id="Tc_OROKp1uaFkqdjkwHosvzKQ_8_12">174,391</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:47.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">General corporate expense, net (c)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.87%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="Duration_1_1_2023_To_3_31_2023_srt_ConsolidationItemsAxis_us-gaap_CorporateNonSegmentMember_c5sw8fixpE21iMoO3Tt6xw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingExpenses" sign="-" scale="3" id="Tc_6RjdigwVT0uL7q-z1FWipw_9_9">10,828</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.87%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="Duration_1_1_2022_To_3_31_2022_srt_ConsolidationItemsAxis_us-gaap_CorporateNonSegmentMember_HVg0NYO990KhlMREqMnCYA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingExpenses" sign="-" scale="3" id="Tc_UmR-F9If2EGwuBVw9DMWCw_9_12">10,437</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:47.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt 0pt 0pt 18pt;">Operating profit, as reported</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.56%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingIncomeLoss" scale="3" id="Tc_jm2ieAdHu0aJYlpMcSC49Q_10_9">199,431</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="Duration_1_1_2022_To_3_31_2022_6vn3vE91T0CiaH7EkBeDAw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingIncomeLoss" scale="3" id="Tc_j1oU_BR7zkuf30vxSqGfGQ_10_12">163,954</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:47.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">Other expense, net </p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.87%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NonoperatingIncomeExpense" sign="-" scale="3" id="Tc_lhueue5VNEG_ugOV0w5Ssw_11_9">16,116</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.87%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="Duration_1_1_2022_To_3_31_2022_6vn3vE91T0CiaH7EkBeDAw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NonoperatingIncomeExpense" sign="-" scale="3" id="Tc_LwQXctGWCU2ods-Ht1Z_3w_11_12">11,282</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:middle;width:47.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt 0pt 0pt 18pt;">Income before income taxes</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.56%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.87%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" scale="3" id="Tc_90b_WCcEf0m3bJZT7WzJAw_12_9">183,315</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.87%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="Duration_1_1_2022_To_3_31_2022_6vn3vE91T0CiaH7EkBeDAw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" scale="3" id="Tc_E0NUP74OGUisXWjvxfBPew_12_12">152,672</ix:nonFraction></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p><div style="font-family:'Times New Roman','Times','serif';font-size:8.0pt;margin-bottom:0pt;min-height:1.19em;position:relative;width:100%;"><div style="background-color:#000000;height:1pt;position:relative;top:0.6em;width:25.0%;border:none;margin:0 auto 0 0;"></div></div><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="font-family:'Times New Roman','Times','serif';font-size:9pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">(a)</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:9pt;font-style:normal;font-weight:normal;">All of our operations are located primarily in the U.S and to a lesser extent Canada.</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="font-family:'Times New Roman','Times','serif';font-size:9pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">(b)</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:9pt;font-style:normal;font-weight:normal;">Segment operating profit includes an allocation of general corporate expenses attributable to the operating segments which is based on direct benefit or usage (such as salaries of corporate employees who directly support the segment).</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="font-family:'Times New Roman','Times','serif';font-size:9pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">(c)</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:9pt;font-style:normal;font-weight:normal;">General corporate expense, net includes expenses not specifically attributable to our segments for functions such as corporate human resources, finance, and legal, including salaries, benefits, and other related costs</span><span style="font-family:'Times New Roman','Times','serif';font-size:9pt;font-style:normal;font-weight:normal;">. </span></td></tr></table><div style="margin-top:6pt;"></div></ix:nonNumeric></ix:nonNumeric><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><a id="_Hlk106950747"></a><ix:nonNumeric contextRef="Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA" name="us-gaap:IncomeTaxDisclosureTextBlock" id="Tb_iAgT1aywlkKBQ3oHtvNK2w" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><b style="font-weight:bold;">8. &#160;INCOME TAXES &#160; &#160; </b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p><p style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="font-family:'Times New Roman','Times','serif';">Our effective tax rates were </span><span style="font-family:'Times New Roman','Times','serif';"><ix:nonFraction unitRef="Unit_Standard_pure_AMt-SnY1f0Gk50TcxvjL4w" contextRef="Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA" decimals="3" format="ixt:numdotdecimal" name="us-gaap:EffectiveIncomeTaxRateContinuingOperations" scale="-2" id="Narr_1jYH5HIy4E2hueblBzTY3w">25.9</ix:nonFraction></span><span style="font-family:'Times New Roman','Times','serif';"> percent and </span><span style="font-family:'Times New Roman','Times','serif';"><ix:nonFraction unitRef="Unit_Standard_pure_AMt-SnY1f0Gk50TcxvjL4w" contextRef="Duration_1_1_2022_To_3_31_2022_6vn3vE91T0CiaH7EkBeDAw" decimals="3" format="ixt:numdotdecimal" name="us-gaap:EffectiveIncomeTaxRateContinuingOperations" scale="-2" id="Narr_eTsYV1pppEeayx8u6kjVsA">24.9</ix:nonFraction></span><span style="font-family:'Times New Roman','Times','serif';"> percent for the three months ended March 31, 2023 and 2022, respectively. The higher 2023 tax rate was primarily related to a decrease in the benefit related to share-based compensation.</span></p><p style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;">A tax benefit of $<ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="Duration_1_1_2022_To_3_31_2022_6vn3vE91T0CiaH7EkBeDAw" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense" scale="6" id="Narr_3GRsjJFTYUectrE-ExjZJw">1.6</ix:nonFraction> million related to share-based compensation was recognized in our condensed consolidated statements of operations as a discrete item in income tax expense for the three months ended March 31, 2022.</p></ix:nonNumeric><a id="IEARNINGSPERSHARE_311853"></a><ix:nonNumeric contextRef="Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA" name="us-gaap:EarningsPerShareTextBlock" id="Tb_-yhsfhsYwUyw1ak46SuW-g" continuedAt="Tb_-yhsfhsYwUyw1ak46SuW-g_cont1" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><b style="font-weight:bold;white-space:pre-wrap;">9.  NET INCOME PER SHAR</b><b style="font-weight:bold;">E</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;">Basic net income per share is calculated by dividing net income by the number of weighted average shares outstanding during the period, without consideration for common stock equivalents. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;">Diluted net income per share is calculated by adjusting the number of weighted average shares outstanding for the dilutive effect of common stock equivalents outstanding for the period, determined using the treasury stock method. &#160;</p></ix:nonNumeric></div><div style="clear:both;display:table;margin-bottom:30pt;min-height:0.35pt;width:100%;"><div style="display:table-cell;vertical-align:bottom;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:12pt 0pt 0pt 0pt;">15</p></div></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:79.3%;border:0;margin:30pt 10.35% 30pt 10.35%;"></div><div style="max-width:100%;padding-left:10.35%;padding-right:10.35%;position:relative;"><div style="margin-top:21.6pt;min-height:41.75pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt 0pt 30pt 0pt;"><a href="#Toc"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">TOPBUILD CORP.</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">NOTES TO CONDENSED CONSOLIDATED FINANCIAL STATEMENTS (Continued)</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></div><div style="clear:both;max-width:100%;position:relative;"><a id="_b2dc87b1_de5e_4c05_ab8a_327c31353e97"></a><a id="Tc_rTHxsMkdakSj9M6DyDM0ow_1_2"></a><a id="Tc_jLD0WA1bi0uvP24WLVxZZg_2_2"></a><a id="Tc_nWXfnQ10Wkqi2jaSpo2MLw_2_5"></a><a id="Tc_pslUQpEUr0efULDjhb8ffA_3_0"></a><a id="Tc_lPsDhZHwB06E6Gkqm37l-g_3_2"></a><a id="Tc_SP6Xe3mtPkemhrEd6Xo9Pw_3_5"></a><a id="Tc_ma8m-kgL6EafZJwSQqrdaA_5_0"></a><a id="Tc_uHjWCXowvEuj0hd1o9SXzw_7_0"></a><a id="Tc_PImGsqcW-Ue4m0UVeA_Xag_8_0"></a><a id="Tc_x-DSJ27fSUO-a16HEO6qog_9_0"></a><a id="Tc_TQuMB-Y2nE-jJi3i6QvIGw_10_0"></a><a id="Tc_f0531ssOAU2ffkl7cua7Ow_11_0"></a><a id="Tc_Q7mQwGfwl0WkuqkDi5sikA_13_0"></a><a id="Tc_ON7qjZE8AUmwhWSHI9HFqg_15_0"></a><a id="Tc_D6B0zVCk40eLKk5tm4-Nmw_15_2"></a><a id="Tc_F5xWuBch4EyLUDEgrVkcLg_15_5"></a><a id="Tc_t5sFAod4iEia3covZhNjeg_17_0"></a><a id="Tc_GCD_dqXTiEGyWlqDCMcV7Q_17_2"></a><a id="Tc_3_rzsHzOqE6-fZox5_U5Dw_17_5"></a><a id="_84188559_e1a3_46b3_b43b_088299eef5be"></a><a id="Tc_PtZWWRjCXEuVaSWwG2S3bg_1_2"></a><a id="Tc_fGhIZgm4W0y4GNy8tjcr7Q_2_2"></a><a id="Tc_E0fiq0i3FkuFY-VZjWLxWg_2_5"></a><a id="Tc_yV4zaGNDDEWmx5w1FGDwGQ_3_0"></a><a id="Tc_KBY0mYaw1EOv6jemakMzBg_4_0"></a><a id="Tc_-Sw2imRPvE-DvZi2IgzaBg_5_0"></a><a id="Tc_nAbws0TYrkq17keEn9O5Vw_6_0"></a><a id="Tc_x2nuyJWeyEeC72BjK-saQg_6_3"></a><a id="Tc_lk6UlZwG9UGSmh8PNenepg_7_0"></a><a id="Tc_OHKq4XOO-EmFfgU40bpoCA_8_0"></a><ix:continuation id="Tb_-yhsfhsYwUyw1ak46SuW-g_cont1"><ix:nonNumeric contextRef="Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA" name="us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" id="Tb_v4k1ijb3ukG53RaP6_oS0Q" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;">Basic and diluted net income per share were computed as follows:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:-0.036060333%;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:55.35%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.36%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.36%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:17.58%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.36%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.36%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:17.58%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:55.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="vertical-align:bottom;width:42.27%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Three Months Ended March&#160;31,&#160;</b></p></td></tr><tr><td style="vertical-align:bottom;width:55.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:19.95%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:19.95%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:55.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">Net income (in thousands)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.36%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.58%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NetIncomeLoss" scale="3" id="Tc_oXYWXheu7kCsP4xOT4rSXQ_3_3">135,870</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.36%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.58%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="Duration_1_1_2022_To_3_31_2022_6vn3vE91T0CiaH7EkBeDAw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NetIncomeLoss" scale="3" id="Tc_PAkeQHYSF0au7O4lhBAK1A_3_6">114,711</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:55.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:55.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">Weighted average number of common shares outstanding - basic</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_shares_eiECwuXP0kO6JM1Li4xT6g" contextRef="Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA" decimals="0" format="ixt:numdotdecimal" name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" scale="0" id="Tc_ztRf4DA8uUmfJG2rauTDWg_5_3">31,550,658</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_shares_eiECwuXP0kO6JM1Li4xT6g" contextRef="Duration_1_1_2022_To_3_31_2022_6vn3vE91T0CiaH7EkBeDAw" decimals="0" format="ixt:numdotdecimal" name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" scale="0" id="Tc_KLA-8tne40es1hYK_tpQWA_5_6">32,738,525</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:55.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:55.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">Dilutive effect of common stock equivalents:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:55.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;">RSAs with service-based conditions</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_shares_eiECwuXP0kO6JM1Li4xT6g" contextRef="Duration_1_1_2023_To_3_31_2023_bld_VestingCriteriaAxis_bld_VestingBasedOnServiceMember_196Upr8rOUC8z0WxIbpziQ" decimals="INF" format="ixt:numdotdecimal" name="bld:IncrementalCommonSharesAttributableToDilutiveEffectOfRestrictedStockAwards" scale="0" id="Tc_MNwf6wC8XES7S02te9CgNw_8_3">22,643</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_shares_eiECwuXP0kO6JM1Li4xT6g" contextRef="Duration_1_1_2022_To_3_31_2022_bld_VestingCriteriaAxis_bld_VestingBasedOnServiceMember_b81sW9t5NkqVPgyYgQhQDQ" decimals="INF" format="ixt:numdotdecimal" name="bld:IncrementalCommonSharesAttributableToDilutiveEffectOfRestrictedStockAwards" scale="0" id="Tc_7DEB1YIQMEuXH7rytZ9W3w_8_6">15,127</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:55.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;">RSAs with market-based conditions</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_shares_eiECwuXP0kO6JM1Li4xT6g" contextRef="Duration_1_1_2023_To_3_31_2023_bld_VestingCriteriaAxis_bld_VestingBasedOnMarketConditionsMember_M8R4YOEGykmYSxy0DTQNfQ" decimals="INF" format="ixt:numdotdecimal" name="bld:IncrementalCommonSharesAttributableToDilutiveEffectOfRestrictedStockAwards" scale="0" id="Tc_9K0UNNq24U-GLnZd5eQGHw_9_3">24,861</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_shares_eiECwuXP0kO6JM1Li4xT6g" contextRef="Duration_1_1_2022_To_3_31_2022_bld_VestingCriteriaAxis_bld_VestingBasedOnMarketConditionsMember_WOts3HCPRUyIrwREZwOb_A" decimals="INF" format="ixt:numdotdecimal" name="bld:IncrementalCommonSharesAttributableToDilutiveEffectOfRestrictedStockAwards" scale="0" id="Tc_cWJ0415nZEaafqbg5QdDdg_9_6">100,158</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:55.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;">RSAs with performance-based conditions</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_shares_eiECwuXP0kO6JM1Li4xT6g" contextRef="Duration_1_1_2023_To_3_31_2023_bld_VestingCriteriaAxis_bld_VestingBasedOnPerformanceMember_WhT4ZtMKAEy67fj6eZw9bw" decimals="INF" format="ixt:numdotdecimal" name="bld:IncrementalCommonSharesAttributableToDilutiveEffectOfRestrictedStockAwards" scale="0" id="Tc_TYLZ5EBJ7EKsoPzz7hQLTA_10_3">29,031</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_shares_eiECwuXP0kO6JM1Li4xT6g" contextRef="Duration_1_1_2022_To_3_31_2022_bld_VestingCriteriaAxis_bld_VestingBasedOnPerformanceMember_FPfoYbYla06I9BvsmSrwjQ" decimals="INF" format="ixt:numdotdecimal" name="bld:IncrementalCommonSharesAttributableToDilutiveEffectOfRestrictedStockAwards" scale="0" id="Tc_mqVG0VDds0yPQzPt2teQWQ_10_6">64,025</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:55.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;">Stock options</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.36%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.58%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_shares_eiECwuXP0kO6JM1Li4xT6g" contextRef="Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA" decimals="INF" format="ixt:numdotdecimal" name="bld:IncrementalCommonSharesAttributableToDilutiveEffectOfStockOptions" scale="0" id="Tc_ll8Qop0AdU-j8KccPZ_jzw_11_3">86,046</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.36%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.58%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_shares_eiECwuXP0kO6JM1Li4xT6g" contextRef="Duration_1_1_2022_To_3_31_2022_6vn3vE91T0CiaH7EkBeDAw" decimals="INF" format="ixt:numdotdecimal" name="bld:IncrementalCommonSharesAttributableToDilutiveEffectOfStockOptions" scale="0" id="Tc_3fHjVZOpDUGG1FglB-qM7A_11_6">124,655</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:55.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:55.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">Weighted average number of common shares outstanding - diluted</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_shares_eiECwuXP0kO6JM1Li4xT6g" contextRef="Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA" decimals="0" format="ixt:numdotdecimal" name="us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding" scale="0" id="Tc_wOvtPpOmdE2-GQJ3PhlApw_13_3">31,713,239</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_shares_eiECwuXP0kO6JM1Li4xT6g" contextRef="Duration_1_1_2022_To_3_31_2022_6vn3vE91T0CiaH7EkBeDAw" decimals="0" format="ixt:numdotdecimal" name="us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding" scale="0" id="Tc_YdTJ06Tgsk6XwYwPp9Z5Xw_13_6">33,042,490</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:55.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:55.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"><b style="font-weight:bold;">Basic net income per common share</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.36%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.58%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Divide_USD_shares_imdDf3-8d0qa5ZDAI6M6QA" contextRef="Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA" decimals="2" format="ixt:numdotdecimal" name="us-gaap:EarningsPerShareBasic" scale="0" id="Tc_yQKllhzL60eoZXZTVoiofA_15_3">4.31</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.36%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.58%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Divide_USD_shares_imdDf3-8d0qa5ZDAI6M6QA" contextRef="Duration_1_1_2022_To_3_31_2022_6vn3vE91T0CiaH7EkBeDAw" decimals="2" format="ixt:numdotdecimal" name="us-gaap:EarningsPerShareBasic" scale="0" id="Tc_DOuf5My7OE6CuCdlfFNmoQ_15_6">3.50</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:55.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:55.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"><b style="font-weight:bold;">Diluted net income per common share</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.36%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.58%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Divide_USD_shares_imdDf3-8d0qa5ZDAI6M6QA" contextRef="Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA" decimals="2" format="ixt:numdotdecimal" name="us-gaap:EarningsPerShareDiluted" scale="0" id="Tc_sAOYKzcuykqHtnYgUS7K4g_17_3">4.28</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.36%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.58%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Divide_USD_shares_imdDf3-8d0qa5ZDAI6M6QA" contextRef="Duration_1_1_2022_To_3_31_2022_6vn3vE91T0CiaH7EkBeDAw" decimals="2" format="ixt:numdotdecimal" name="us-gaap:EarningsPerShareDiluted" scale="0" id="Tc_Bt59qQfEokaGcMYDGfefKw_17_6">3.47</ix:nonFraction></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></ix:nonNumeric><ix:nonNumeric contextRef="Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA" name="us-gaap:ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock" id="Tb___WLYZdG4UiTWsOLQZ7BnA" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;">The following table summarizes shares excluded from the calculation of diluted net income per share because their effect would have been anti-dilutive:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:55.32%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:17.57%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:17.57%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:55.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="vertical-align:bottom;width:42.29%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Three Months Ended March&#160;31,&#160;</b></p></td></tr><tr><td style="vertical-align:bottom;width:55.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:19.95%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:19.95%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:55.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">Anti-dilutive common stock equivalents:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:55.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;">RSAs with service-based conditions</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_shares_eiECwuXP0kO6JM1Li4xT6g" contextRef="Duration_1_1_2023_To_3_31_2023_bld_VestingCriteriaAxis_bld_VestingBasedOnServiceMember_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_us-gaap_RestrictedStockMember_x6XnFpPuXEuV3fGq4ddeyA" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" scale="0" id="Tc_HGs1aMt4vkGOk_H5k3BA7A_4_3">11,163</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_shares_eiECwuXP0kO6JM1Li4xT6g" contextRef="Duration_1_1_2022_To_3_31_2022_bld_VestingCriteriaAxis_bld_VestingBasedOnServiceMember_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_us-gaap_RestrictedStockMember_Pcsj0KvvGEe1syeIDuQieA" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" scale="0" id="Tc_-qe3Y9WIRE6i_zsL-g6DAg_4_6">10,244</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:55.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;">RSAs with market-based conditions</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_shares_eiECwuXP0kO6JM1Li4xT6g" contextRef="Duration_1_1_2023_To_3_31_2023_bld_VestingCriteriaAxis_bld_VestingBasedOnMarketConditionsMember_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_us-gaap_RestrictedStockMember_FALY4h_Bg0uKOBzLGkgxfQ" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" scale="0" id="Tc_nVDNWyCKwECzgD-jgWZoyg_5_3">8,933</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_shares_eiECwuXP0kO6JM1Li4xT6g" contextRef="Duration_1_1_2022_To_3_31_2022_bld_VestingCriteriaAxis_bld_VestingBasedOnMarketConditionsMember_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_us-gaap_RestrictedStockMember_BhD1z8gATEeiUokXR7Bfmw" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" scale="0" id="Tc_-Pz1293OQkakWWHf6xKymQ_5_6">382</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:55.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;">RSAs with performance-based conditions</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_shares_eiECwuXP0kO6JM1Li4xT6g" contextRef="Duration_1_1_2022_To_3_31_2022_bld_VestingCriteriaAxis_bld_VestingBasedOnPerformanceMember_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_us-gaap_RestrictedStockMember_iSBcQfCa80aJcCmonmGW2g" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" scale="0" id="Tc_Zg7A339FKUOKppugzCHSDA_6_6">7,908</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:55.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;">Stock options</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.57%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_shares_eiECwuXP0kO6JM1Li4xT6g" contextRef="Duration_1_1_2023_To_3_31_2023_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_us-gaap_EmployeeStockOptionMember_JTF_nuG900CtkAmFVcr1wA" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" scale="0" id="Tc_F2yD_F4Iq0CfkG03jkXb4g_7_3">22,280</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.57%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_shares_eiECwuXP0kO6JM1Li4xT6g" contextRef="Duration_1_1_2022_To_3_31_2022_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_us-gaap_EmployeeStockOptionMember_y5429PFFEkO6VyO6sbJmNA" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" scale="0" id="Tc_Q98EmL4870GH4w0lK21plw_7_6">16,587</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:55.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">Total anti-dilutive common stock equivalents</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.57%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_shares_eiECwuXP0kO6JM1Li4xT6g" contextRef="Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" scale="0" id="Tc_4tx4PnPNsEemekHjaTPHJA_8_3">42,376</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.57%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_shares_eiECwuXP0kO6JM1Li4xT6g" contextRef="Duration_1_1_2022_To_3_31_2022_6vn3vE91T0CiaH7EkBeDAw" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" scale="0" id="Tc_Nn6Oiv1ldEeb8HSv_NSw7Q_8_6">35,121</ix:nonFraction></p></td></tr></table></ix:nonNumeric><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></ix:continuation><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><a id="_e30e61ab_1a42_453a_9ed4_5b0ded69c7e1"></a><a id="Tc_2LPGYEFquUS7ZY8QgdVM6w_1_2"></a><a id="Tc_Ykox3t8nr0qUeAUmRn-K8A_2_2"></a><a id="Tc_ES78qeDXDkasn9KHurYSQQ_2_5"></a><a id="Tc_0YntkGpGqUO6ApooQR7f-g_3_0"></a><a id="Tc_7qgn2W8SWUeuO3_cTtvEdQ_3_2"></a><a id="Tc_RLuDYa3lfkKbr7y9rTUA5A_3_5"></a><a id="Tc_dDVLXoEcJkiJUU6I28GPmQ_4_0"></a><a id="Tc_PFpgzYHPfkWA0tDxK2fw4w_4_2"></a><a id="Tc_7P6mKisEhkiDEXVNtGYJwg_4_5"></a><ix:nonNumeric contextRef="Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA" name="us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock" id="Tb_4XmLwT5dWkWboZHT7UKvfA" continuedAt="Tb_4XmLwT5dWkWboZHT7UKvfA_cont1" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><b style="font-weight:bold;white-space:pre-wrap;">10.  SHARE-BASED COMPENSATION</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;">Effective July 1, 2015, our eligible employees commenced participation in the 2015 LTIP.&#160;&#160;The 2015 LTIP authorizes the Board to grant stock options, stock appreciation rights, restricted shares, restricted share units, performance awards, and dividend equivalents.&#160;&#160;All grants are made by issuing new shares and no more than <ix:nonFraction unitRef="Unit_Standard_shares_eiECwuXP0kO6JM1Li4xT6g" contextRef="As_Of_3_31_2023_srt_RangeAxis_srt_MaximumMember_us-gaap_PlanNameAxis_bld_LongTermIncentivePlanMember_tIAn4wlxMk-KyfSphArL4A" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized" scale="6" id="Narr_9qCVru3h90qUmYkEvJ2bxQ">4.0</ix:nonFraction> million shares of common stock may be issued under the 2015 LTIP.&#160;&#160;As of March 31, 2023, we had 1.8 million shares remaining available for issuance under the 2015 LTIP. </p><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="font-size:10pt;margin-bottom:5pt;margin-top:5pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;">Share-based compensation expense is included in selling, general, and administrative expense.&#160;&#160;The income tax effect associated with share-based compensation awards is included in income tax expense.&#160;&#160;</p><ix:nonNumeric contextRef="Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA" name="bld:ScheduleOfShareBasedCompensationExpenseTableTextBlock" id="Tb_-muyKoyb6k2tKbG9V83ZPA" continuedAt="Tb_-muyKoyb6k2tKbG9V83ZPA_cont1" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="font-size:10pt;margin-bottom:5pt;margin-top:5pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;">The following table presents share-based compensation amounts recognized in our condensed consolidated statements of operations, in thousands: </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;white-space:nowrap;width:57.71%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.42%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.42%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:16.29%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.42%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.42%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:16.29%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:57.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:39.86%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Three Months Ended March&#160;31,&#160;</b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:57.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:18.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:18.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:57.71%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">Share-based compensation expense</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AllocatedShareBasedCompensationExpense" scale="3" id="Tc_C4etbIJmDUKJaUBR6qo_gw_3_3">3,135</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="Duration_1_1_2022_To_3_31_2022_6vn3vE91T0CiaH7EkBeDAw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AllocatedShareBasedCompensationExpense" scale="3" id="Tc_wZoR3ahxjUCPcQ-X1gZhdA_3_6">3,727</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:57.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">Income tax (expense)/benefit</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense" sign="-" scale="3" id="Tc_mDZv3ks6AEyKFgiU7gONPQ_4_3">45</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="Duration_1_1_2022_To_3_31_2022_6vn3vE91T0CiaH7EkBeDAw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense" scale="3" id="Tc_VJ3OsuAh80mvaVV_KGWMFQ_4_6">1,605</ix:nonFraction></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></ix:nonNumeric></ix:nonNumeric></div><div style="clear:both;display:table;margin-bottom:30pt;min-height:0.35pt;width:100%;"><div style="display:table-cell;vertical-align:bottom;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:12pt 0pt 0pt 0pt;">16</p></div></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:79.3%;border:0;margin:30pt 10.35% 30pt 10.35%;"></div><div style="max-width:100%;padding-left:10.35%;padding-right:10.35%;position:relative;"><div style="margin-top:21.6pt;min-height:41.75pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt 0pt 30pt 0pt;"><a href="#Toc"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">TOPBUILD CORP.</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">NOTES TO CONDENSED CONSOLIDATED FINANCIAL STATEMENTS (Continued)</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></div><div style="clear:both;max-width:100%;position:relative;min-height:9.2pt;"><a id="_16ffd9aa_b412_4894_8749_0fc63ba63562"></a><a id="Tc_E6Xpb22aLUiStyxPDHQAnA_1_2"></a><a id="Tc_i1bSbUIkHEuHIIxUJJulmg_1_7"></a><a id="Tc_Avk0a4i_002x8atztsu_XQ_2_2"></a><a id="Tc_vUwvRtO-40aXWYiRrbOQQw_2_4"></a><a id="Tc_2mOYfZltLkuDo6LvVbdfPw_2_7"></a><a id="Tc_jHGXQlt_Yku8-StjHVoucQ_2_9"></a><a id="Tc__4Vm6ISMhkyz-niwZZrR0A_2_12"></a><a id="Tc_Y3o9-14UUUe67mToH3R1nw_2_15"></a><a id="Tc_drbqHQ11G0CxSBCJSZaV0A_3_0"></a><a id="Tc_WLYEuUbk-UOeRSCWSJWqTw_3_4"></a><a id="Tc_J8hRwEcFd0-xrfHV7uIqOg_3_9"></a><a id="Tc_toP7XYUcm0SR50wdDSM1Kw_3_12"></a><a id="Tc_8hujprKYTU2KYNnc7IXY9Q_3_15"></a><a id="Tc_qAJNFdsUG0CAOfvXz_1I5Q_4_0"></a><a id="Tc_izTQt3MbvkCYq22wj8PPJQ_4_4"></a><a id="Tc_NzXjxolK9kWsrIAoYc5Qsw_4_7"></a><a id="Tc_O_Nid-Use0Cdd_EGYdr73Q_4_9"></a><a id="Tc_42g3uO8rmUOUgRoTfDDBWw_4_10"></a><a id="Tc_lJ2O_QXHzUmzujTNGzVl5Q_4_12"></a><a id="Tc_uShDl_fzwkGjLDzcr_g9-A_4_13"></a><a id="Tc_af-eTdsrqkmUfl4HLAOOYw_4_16"></a><a id="Tc_B_DLg6BSk02NpcWjQtivfg_5_0"></a><a id="Tc_5kgIQ8nmcUWLgv_V8D1sBQ_5_4"></a><a id="Tc_B6yAlWTTLEaZUjuAfxrKhg_5_9"></a><a id="Tc_vxA8NV3qJkGldbz37jbSaQ_5_12"></a><a id="Tc_tFKvAc0SI0OVL-gXPdVqhg_5_15"></a><a id="Tc_0WquaOuBqk6z-j7R-69ORQ_6_0"></a><a id="Tc_iar_PKzyzE6Y-aeUF2Cnlg_6_4"></a><a id="Tc_tQW_Pgm5-kq8ZKFT6-F-_Q_6_7"></a><a id="Tc_4-jBv5_mzkyHwBKjYKHBAA_6_9"></a><a id="Tc_tQhO9Stv3UCs8TIl5KIOZw_6_10"></a><a id="Tc_qdBRZcsN_kOleoi2x2slBg_6_12"></a><a id="Tc_EGbER4ve7EKDMMUa1w4FfQ_6_13"></a><a id="Tc_v75vxTxU5UaKrEPmKza4dg_6_16"></a><a id="Tc_sRqYmXJvtEy4cL_IhjCZWA_7_0"></a><a id="Tc_63Dy1oG51kCDTTUwq_nO6Q_7_4"></a><a id="Tc_uPAcZdEnG0WZnk7W5hmxIA_7_9"></a><a id="Tc_nDqKGrk5Zk2ZlHTzmo9QZw_7_12"></a><a id="Tc_lldfXekhy0ytytEQ2KOHJw_7_15"></a><a id="Tc_s-S75GnC0kGUxKJ5dS4NtQ_9_0"></a><a id="Tc_FroK9rIBNk6Fs_NFNRm-aw_9_9"></a><a id="Tc_bvEfoilnQ0a5kbV6jqM9BQ_9_12"></a><a id="Tc_GHZMP8Yk6EWj5pZGexaBkw_9_15"></a><a id="_6ac39001_ede3_4c14_ad3a_c53379ebc69d"></a><a id="Tc_i1nAVTvDdUeEUlHTigmMeA_1_2"></a><a id="Tc_-4Fz4BvplUSyJbpAUVwxHg_2_2"></a><a id="Tc_QrfczEXAhkysXdvVwQvN2A_2_5"></a><a id="Tc_L5ZZ5m6gxE-ehAvCV0GFTA_3_0"></a><a id="Tc_e47ztvQxkku0BayVEOcuQw_3_2"></a><a id="Tc_2F8IIMWZ4keiBuH1PRJyGA_4_0"></a><a id="Tc_aSimQlZa2UehDG9mWLq8Gw_5_0"></a><a id="Tc_VGJDmyN3VEuY1oLm5Mn_tA_5_2"></a><a id="Tc_PDeY5o7BwkazGuT6PhHkmA_1_5"></a><a id="Tc_MGEvBh8sG0Kvyj3FT-DSXQ_2_0"></a><a id="Tc_WE8QJvkWIE24hyszYzhRqA_2_2"></a><a id="Tc_yeMorflj7UWg5BoSrmHtXg_3_0"></a><a id="Tc_WLUPSdHQk069XEinjEy_hw_3_2"></a><a id="Tc_gn375vbfREWu2VtD7iWGTA_3_5"></a><a id="Tc_HP_V0DNSyUGQNUZye4gL0Q_3_6"></a><a id="Tc_vKxh0D5ubUq-hF0whXVhyg_3_8"></a><a id="Tc_Is9kYl4NNEmlj0Q0SXWiUA_3_11"></a><a id="Tc_NOh0sB3OKUGpEZQgmhWRgQ_3_14"></a><a id="Tc_lLnVBmz5hUaelKucZkiGsA_4_0"></a><a id="Tc_6t8sidm03EWRW6oAJqnBuA_4_2"></a><a id="Tc_p2_3ORscNEGV4GBj4N8n4w_4_5"></a><a id="Tc_dyuN5VxSb0eHchTCiRAptQ_4_6"></a><a id="Tc_ZyPvAXhFRUa5E1uXPCuuvg_4_8"></a><a id="Tc_r3Fhiow6F0u0vuQabPM1Gg_4_11"></a><a id="Tc_lLZGWyJJQEm17c24E5U4IA_4_14"></a><a id="Tc_e7h6sJkBRUyJOuj442qSLA_5_0"></a><a id="Tc_BzeJ-x68MUahoikVacZD3w_5_2"></a><a id="Tc_o-dZMPY5w06CDvu2MYFgUw_5_5"></a><a id="Tc_Vm0qyKpqo0uP8GTncZhXfA_5_6"></a><a id="Tc_XINttrtbqk2tSWGm6jHkhA_5_8"></a><a id="Tc_wXZyXhUWXUCVI5SK3UpI1A_5_11"></a><a id="Tc_4uYCX9q6HkyScc5n5tXZHg_5_14"></a><a id="Tc_CbJip-URak6xIf_QJ-FJYA_1_2"></a><a id="Tc_YlntDFgETk-rP8Xbj5Q8Nw_1_6"></a><a id="Tc_AhLwsDTG2UCbQXSFW-1BFA_2_0"></a><a id="Tc_x6Lvcmw47EivX0QFWOkd8w_3_0"></a><a id="Tc_Sn8cVmK3pkOaLclLbnhlGw_3_4"></a><a id="Tc_JsFDtoK3SUiJ_lGieDWfZw_3_8"></a><a id="Tc_UX-K7U8fGE6yLK8RmDUuVw_4_0"></a><a id="Tc_0JK2Wp8cwUWpxahd3MMGXg_4_4"></a><a id="Tc_NPmRMb7V00mxPLbjjT5nPA_4_8"></a><a id="Tc_dXVOZp3K0EahSj4EbrKxpw_5_0"></a><a id="Tc_IENJggqDJ06XDUmkt1T0NQ_5_2"></a><a id="Tc_6P2K0hayvU-bF5_YXCvbWg_5_6"></a><ix:continuation id="Tb_4XmLwT5dWkWboZHT7UKvfA_cont1"><ix:continuation id="Tb_-muyKoyb6k2tKbG9V83ZPA_cont1"></ix:continuation><ix:nonNumeric contextRef="Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA" name="us-gaap:ScheduleOfShareBasedCompensationActivityTableTextBlock" id="Tb_vcrLYEnmUkWkZ1L0QdUr0Q" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;">The following table presents a summary of our share-based compensation activity for three months ended March 31,&#160;2023, in thousands, except per share amounts:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;white-space:nowrap;width:21.02%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.24%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.58%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.13%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.51%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.13%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.45%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.34%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:21.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="4" style="vertical-align:bottom;white-space:nowrap;width:24.81%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">RSAs</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="10" style="vertical-align:bottom;white-space:nowrap;width:51.34%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Stock Options</b></p></td></tr><tr><td style="vertical-align:bottom;width:21.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:1.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:10.58%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Number&#160;of Shares</b></p></td><td style="vertical-align:bottom;width:1.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"><b style="font-family:'Arial','Helvetica','sans-serif';font-weight:bold;">&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;width:12.68%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Weighted Average&#160;Grant Date&#160;Fair&#160;Value Per&#160;Share</b></p></td><td style="vertical-align:bottom;width:1.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"><b style="font-family:'Arial','Helvetica','sans-serif';font-weight:bold;">&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;width:10.51%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Number&#160;of Shares</b></p></td><td style="vertical-align:bottom;width:1.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"><b style="font-family:'Arial','Helvetica','sans-serif';font-weight:bold;">&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;width:12.68%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Weighted Average&#160;Grant Date&#160;Fair&#160;Value Per&#160;Share</b></p></td><td style="vertical-align:bottom;width:1.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"><b style="font-family:'Arial','Helvetica','sans-serif';font-weight:bold;">&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;width:11.83%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Weighted Average Exercise&#160;Price Per&#160;Share</b></p></td><td style="vertical-align:bottom;width:1.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"><b style="font-family:'Arial','Helvetica','sans-serif';font-weight:bold;">&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;width:11.64%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Aggregate</b><b style="font-weight:bold;"><br /></b><b style="font-weight:bold;">Intrinsic</b><b style="font-weight:bold;"><br /></b><b style="font-weight:bold;">Value</b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:21.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">Balance December&#160;31,&#160;2022</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_shares_eiECwuXP0kO6JM1Li4xT6g" contextRef="As_Of_12_31_2022_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockMember_gyTMO563sEqpZmQ3457eFw" decimals="-2" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" scale="3" id="Tc_JPah4LXdVU2pO2UNTyZ40g_3_2">173.2</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Divide_USD_shares_imdDf3-8d0qa5ZDAI6M6QA" contextRef="As_Of_12_31_2022_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockMember_gyTMO563sEqpZmQ3457eFw" decimals="2" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" scale="0" id="Tc_Yz1-fWfOz0md3Q5Ww20WuA_3_5">195.06</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_shares_eiECwuXP0kO6JM1Li4xT6g" contextRef="As_Of_12_31_2022_us-gaap_AwardTypeAxis_us-gaap_EmployeeStockOptionMember_SvwL_1-BQkqWC-2hDx5qwA" decimals="-2" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" scale="3" id="Tc_DNlfViq1KESCaHkZY17f1A_3_7">182.2</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Divide_USD_shares_imdDf3-8d0qa5ZDAI6M6QA" contextRef="As_Of_12_31_2022_us-gaap_AwardTypeAxis_us-gaap_EmployeeStockOptionMember_SvwL_1-BQkqWC-2hDx5qwA" decimals="2" format="ixt:numdotdecimal" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue" scale="0" id="Tc_CI1rZ58WCkuR9Zw_7Ryvpg_3_10">32.25</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Divide_USD_shares_imdDf3-8d0qa5ZDAI6M6QA" contextRef="As_Of_12_31_2022_us-gaap_AwardTypeAxis_us-gaap_EmployeeStockOptionMember_SvwL_1-BQkqWC-2hDx5qwA" decimals="2" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" scale="0" id="Tc_3M0H28ETS0mF-Jw40GlRSg_3_13">86.79</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="As_Of_12_31_2022_us-gaap_AwardTypeAxis_us-gaap_EmployeeStockOptionMember_SvwL_1-BQkqWC-2hDx5qwA" decimals="-2" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue" scale="3" id="Tc_PmEWAT6oOkWmkc2HpogTug_3_16">13,992.3</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:21.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;">Granted</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;"><span style="font-size:9pt;margin-left:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_shares_eiECwuXP0kO6JM1Li4xT6g" contextRef="Duration_1_1_2023_To_3_31_2023_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockMember_4ijqTyXSBk22efw20Cbhig" decimals="-2" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" scale="3" id="Tc_9OAuwyjBFUq0XI6gYWJ93g_4_2">95.4</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Divide_USD_shares_imdDf3-8d0qa5ZDAI6M6QA" contextRef="Duration_1_1_2023_To_3_31_2023_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockMember_4ijqTyXSBk22efw20Cbhig" decimals="2" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" scale="0" id="Tc_fnv6ZYoFtU2iqFPs7Q3Upg_4_5">202.24</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:21.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;">Converted/Exercised</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;"><span style="font-size:9pt;margin-left:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_shares_eiECwuXP0kO6JM1Li4xT6g" contextRef="Duration_1_1_2023_To_3_31_2023_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockMember_4ijqTyXSBk22efw20Cbhig" decimals="-2" format="ixt:numdotdecimal" name="bld:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsConvertedExercisedInPeriod" scale="3" id="Tc_aKFVHjchmkay0Yo8wXNVdQ_5_2">95.0</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Divide_USD_shares_imdDf3-8d0qa5ZDAI6M6QA" contextRef="Duration_1_1_2023_To_3_31_2023_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockMember_4ijqTyXSBk22efw20Cbhig" decimals="2" format="ixt:numdotdecimal" name="bld:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsConvertedExercisedWeightedAverageGrantDateFairValue" scale="0" id="Tc_lsHRX03Yx0eWvXe5H0jlsw_5_5">145.57</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_shares_eiECwuXP0kO6JM1Li4xT6g" contextRef="Duration_1_1_2023_To_3_31_2023_us-gaap_AwardTypeAxis_us-gaap_EmployeeStockOptionMember_ra7VRVHhWU2toZSs6t5jSg" decimals="-2" format="ixt:numdotdecimal" name="us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised" scale="3" id="Tc_mj3u5QmWgkW66Yu5wPfnww_5_7">28.8</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Divide_USD_shares_imdDf3-8d0qa5ZDAI6M6QA" contextRef="Duration_1_1_2023_To_3_31_2023_us-gaap_AwardTypeAxis_us-gaap_EmployeeStockOptionMember_ra7VRVHhWU2toZSs6t5jSg" decimals="2" format="ixt:numdotdecimal" name="bld:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsConvertedExercisedWeightedAverageGrantDateFairValue" scale="0" id="Tc__qjOegygtEWDARtUHgvUEA_5_10">13.07</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Divide_USD_shares_imdDf3-8d0qa5ZDAI6M6QA" contextRef="Duration_1_1_2023_To_3_31_2023_us-gaap_AwardTypeAxis_us-gaap_EmployeeStockOptionMember_ra7VRVHhWU2toZSs6t5jSg" decimals="2" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice" scale="0" id="Tc_XwnVHBt0LECDREP3odJeug_5_13">35.67</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="Duration_1_1_2023_To_3_31_2023_us-gaap_AwardTypeAxis_us-gaap_EmployeeStockOptionMember_ra7VRVHhWU2toZSs6t5jSg" decimals="-1" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue" scale="3" id="Tc_InsACgQMCk22WIHRC4EbxA_5_16">4,504.8</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:21.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;">Forfeited/Expired</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;"><span style="font-size:9pt;margin-left:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.58%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_shares_eiECwuXP0kO6JM1Li4xT6g" contextRef="Duration_1_1_2023_To_3_31_2023_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockMember_4ijqTyXSBk22efw20Cbhig" decimals="-2" format="ixt:numdotdecimal" name="bld:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedOrExpiredInPeriod" scale="3" id="Tc_91HuyQss0EaeUOxeI_KvXQ_6_2">5.3</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.13%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Divide_USD_shares_imdDf3-8d0qa5ZDAI6M6QA" contextRef="Duration_1_1_2023_To_3_31_2023_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockMember_4ijqTyXSBk22efw20Cbhig" decimals="2" format="ixt:numdotdecimal" name="bld:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedOrExpiredWeightedAverageGrantDateFairValue" scale="0" id="Tc_876nJJQ7b0G5MTB8xAkF6g_6_5">242.76</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.51%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.13%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.34%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:21.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">Balance March&#160;31,&#160;2023</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.58%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_shares_eiECwuXP0kO6JM1Li4xT6g" contextRef="As_Of_3_31_2023_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockMember_gi0zPp63_UKnfJcl0TQvyQ" decimals="-2" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" scale="3" id="Tc_mX8lcFZo00azeYZzBRGQ3g_7_2">168.3</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.13%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Divide_USD_shares_imdDf3-8d0qa5ZDAI6M6QA" contextRef="As_Of_3_31_2023_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockMember_gi0zPp63_UKnfJcl0TQvyQ" decimals="2" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" scale="0" id="Tc_cFKn0eAy5Uq09LpxFZo1VQ_7_5">225.41</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.51%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_shares_eiECwuXP0kO6JM1Li4xT6g" contextRef="As_Of_3_31_2023_us-gaap_AwardTypeAxis_us-gaap_EmployeeStockOptionMember_JYX_mBWuXk6uTfGNYEC3QQ" decimals="-2" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" scale="3" id="Tc_JwhI6FY3rU2-I5d5fOBeXA_7_7">153.4</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.13%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Divide_USD_shares_imdDf3-8d0qa5ZDAI6M6QA" contextRef="As_Of_3_31_2023_us-gaap_AwardTypeAxis_us-gaap_EmployeeStockOptionMember_JYX_mBWuXk6uTfGNYEC3QQ" decimals="2" format="ixt:numdotdecimal" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue" scale="0" id="Tc_FK-4Fk5u4ESdM1-42S4kbg_7_10">35.98</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.45%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Divide_USD_shares_imdDf3-8d0qa5ZDAI6M6QA" contextRef="As_Of_3_31_2023_us-gaap_AwardTypeAxis_us-gaap_EmployeeStockOptionMember_JYX_mBWuXk6uTfGNYEC3QQ" decimals="2" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" scale="0" id="Tc_47MYTH3e0E-jX0Ry-mGpgQ_7_13">96.40</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.34%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="As_Of_3_31_2023_us-gaap_AwardTypeAxis_us-gaap_EmployeeStockOptionMember_JYX_mBWuXk6uTfGNYEC3QQ" decimals="-2" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue" scale="3" id="Tc_UqZpvtF07keO1pWsJRdu7A_7_16">17,277.2</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:21.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.51%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.13%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.34%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td colspan="3" style="vertical-align:bottom;white-space:nowrap;width:32.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">Exercisable March&#160;31,&#160;2023 (a)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.51%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_shares_eiECwuXP0kO6JM1Li4xT6g" contextRef="As_Of_3_31_2023_us-gaap_AwardTypeAxis_us-gaap_EmployeeStockOptionMember_JYX_mBWuXk6uTfGNYEC3QQ" decimals="-2" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber" scale="3" id="Tc_XH6xghLAZ0Kzvkzd9DkGeQ_9_7">145.9</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.13%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Divide_USD_shares_imdDf3-8d0qa5ZDAI6M6QA" contextRef="Duration_1_1_2023_To_3_31_2023_us-gaap_AwardTypeAxis_us-gaap_EmployeeStockOptionMember_ra7VRVHhWU2toZSs6t5jSg" decimals="2" format="ixt:numdotdecimal" name="bld:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageGrantDateFairValue" scale="0" id="Tc_KsmQpu5w5EatMd46ys_48w_9_10">33.25</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.45%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Divide_USD_shares_imdDf3-8d0qa5ZDAI6M6QA" contextRef="As_Of_3_31_2023_us-gaap_AwardTypeAxis_us-gaap_EmployeeStockOptionMember_JYX_mBWuXk6uTfGNYEC3QQ" decimals="2" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice" scale="0" id="Tc_FBy4_42qpkuV2j1GUXEdRQ_9_13">90.39</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.34%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="As_Of_3_31_2023_us-gaap_AwardTypeAxis_us-gaap_EmployeeStockOptionMember_JYX_mBWuXk6uTfGNYEC3QQ" decimals="-2" format="ixt:numdotdecimal" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1" scale="3" id="Tc_0Vz51ROzqEOWWnycDgVqNQ_9_16">17,277.2</ix:nonFraction></p></td></tr></table><div style="font-family:'Times New Roman','Times','serif';font-size:8.0pt;margin-bottom:0pt;min-height:1.19em;position:relative;width:100%;"><div style="background-color:#000000;height:1pt;position:relative;top:0.6em;width:25.0%;border:none;margin:0 auto 0 0;"></div></div><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="font-family:'Times New Roman','Times','serif';font-size:9pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">(a)</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:9pt;font-style:normal;font-weight:normal;">The weighted average remaining contractual term for vested stock options is approximately</span><ix:nonNumeric contextRef="Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA" format="ixt-sec:duryear" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageRemainingContractualTerm1" id="Narr_dHstS4_NkEabGUXC9rWtAA"><span style="font-family:'Times New Roman','Times','serif';font-size:9pt;font-style:normal;font-weight:normal;"> 5.9 </span></ix:nonNumeric><span style="font-family:'Times New Roman','Times','serif';font-size:9pt;font-style:normal;font-weight:normal;">years.</span></td></tr></table></ix:nonNumeric><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"><span style="white-space:pre-wrap;">  </span><span style="visibility:hidden;">&#8203;</span></p><ix:nonNumeric contextRef="Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA" name="bld:ScheduleOfUnrecognizedShareBasedCompensationExpenseNonvestedAwards" id="Tb_QsEpkCGrfk2VTP229poe1g" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;">We had unrecognized share-based compensation expense related to unvested awards is shown in the following table, dollars in thousands:</p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;white-space:nowrap;width:59.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:59.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:38.81%;background:#ffffff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">As of March&#160;31,&#160;2023</b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:59.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;width:18.61%;background:#ffffff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Unrecognized Compensation Expense </b><b style="font-weight:bold;"><br /></b><b style="font-weight:bold;">on Unvested Awards</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;width:18.66%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Weighted Average</b><b style="font-weight:bold;"><br /></b><b style="font-weight:bold;">Remaining</b><b style="font-weight:bold;"><br /></b><b style="font-weight:bold;">Compensation Expense Period</b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:59.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;">RSAs</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="As_Of_3_31_2023_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockMember_gi0zPp63_UKnfJcl0TQvyQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions" scale="3" id="Tc_0EB64sph6UWbefTKRMHpEQ_3_3">24,835</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.14%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><ix:nonNumeric contextRef="Duration_1_1_2023_To_3_31_2023_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockMember_4ijqTyXSBk22efw20Cbhig" format="ixt-sec:duryear" name="us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" id="Tc_Ulb15pT0yUWuEQGpmoiqlA_3_6"><span style="font-size:9pt;"> 1.2</span></ix:nonNumeric></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:59.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;">Stock options</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.51%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="As_Of_3_31_2023_us-gaap_AwardTypeAxis_us-gaap_EmployeeStockOptionMember_JYX_mBWuXk6uTfGNYEC3QQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions" scale="3" id="Tc_ACpU2BJAxUKfm3IC4rsDcA_4_3">397</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><ix:nonNumeric contextRef="Duration_1_1_2023_To_3_31_2023_us-gaap_AwardTypeAxis_us-gaap_EmployeeStockOptionMember_ra7VRVHhWU2toZSs6t5jSg" format="ixt-sec:duryear" name="us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" id="Tc_VXn7nDUPrkmr8MI3o-K53w_4_6"><span style="font-size:9pt;"> 0.5</span></ix:nonNumeric></p></td></tr><tr><td style="vertical-align:bottom;width:59.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">Total unrecognized compensation expense related to unvested awards</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.51%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.1%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="As_Of_3_31_2023_if5iG1tra0aH_pegPPBopw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized" scale="3" id="Tc_iuYDXI_s0U-ZwFWkm7bIHA_5_3">25,232</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.14%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></ix:nonNumeric><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;">Our RSAs with performance-based conditions are evaluated on a quarterly basis with adjustments to compensation expense based on the likelihood of the performance target being achieved or exceeded. &#160;The following table shows the range of payouts and the related expense for our outstanding RSAs with performance-based conditions, in thousands:</p><ix:nonNumeric contextRef="Duration_1_1_2023_To_3_31_2023_bld_VestingCriteriaAxis_bld_VestingBasedOnPerformanceMember_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockMember_kcwD_RKwNEOBF7pNYw0mcA" name="bld:ScheduleOfShareBasedPaymentAwardRestrictedStockAwardsPayoutRangeAndRelatedExpenseTableTextBlock" id="Group_ZvY129LTTkuJmoM0-JLifA" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;white-space:nowrap;width:41.14%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.96%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.96%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.96%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.96%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.88%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:41.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td colspan="11" style="vertical-align:bottom;white-space:nowrap;width:45.86%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Payout Ranges and Related Expense</b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:41.14%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"><b style="font-weight:bold;">RSAs with Performance-Based Conditions</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;width:10.3%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Grant Date Fair Value</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;width:10.3%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;"><ix:nonFraction unitRef="Unit_Standard_pure_AMt-SnY1f0Gk50TcxvjL4w" contextRef="As_Of_2_16_2021_bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeAxis_bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeOneMember_bld_VestingCriteriaAxis_bld_VestingBasedOnPerformanceMember_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockMember_TQ1nMhAYWki37seY7smhhQ" decimals="2" format="ixt:numdotdecimal" name="bld:ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangePercentage" scale="-2" id="Tc_PX2LQ-1NJEmflRbvsDz6Mw_2_5"><ix:nonFraction unitRef="Unit_Standard_pure_AMt-SnY1f0Gk50TcxvjL4w" contextRef="As_Of_2_15_2022_bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeAxis_bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeOneMember_bld_VestingCriteriaAxis_bld_VestingBasedOnPerformanceMember_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockMember_FfGxCaBFRUiinAvspDeYjw" decimals="2" format="ixt:numdotdecimal" name="bld:ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangePercentage" scale="-2" id="Tc_PX2LQ-1NJEmflRbvsDz6Mw_2_5_2"><ix:nonFraction unitRef="Unit_Standard_pure_AMt-SnY1f0Gk50TcxvjL4w" contextRef="As_Of_2_21_2023_bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeAxis_bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeOneMember_bld_VestingCriteriaAxis_bld_VestingBasedOnPerformanceMember_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockMember_IO3StBpGPEaMgNYwkFi3Mg" decimals="2" format="ixt:numdotdecimal" name="bld:ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangePercentage" scale="-2" id="Tc_PX2LQ-1NJEmflRbvsDz6Mw_2_5_3">0</ix:nonFraction></ix:nonFraction></ix:nonFraction>%</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;width:10.3%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;"><ix:nonFraction unitRef="Unit_Standard_pure_AMt-SnY1f0Gk50TcxvjL4w" contextRef="As_Of_2_16_2021_bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeAxis_bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeTwoMember_bld_VestingCriteriaAxis_bld_VestingBasedOnPerformanceMember_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockMember_wQlfxRhuEEiIk1YVEIupOg" decimals="2" format="ixt:numdotdecimal" name="bld:ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangePercentage" scale="-2" id="Tc_9YAeBTpxc0m4VI0QSF-vMg_2_8"><ix:nonFraction unitRef="Unit_Standard_pure_AMt-SnY1f0Gk50TcxvjL4w" contextRef="As_Of_2_15_2022_bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeAxis_bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeTwoMember_bld_VestingCriteriaAxis_bld_VestingBasedOnPerformanceMember_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockMember_gzkUEjuqbUGHUIaU2L0iqQ" decimals="2" format="ixt:numdotdecimal" name="bld:ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangePercentage" scale="-2" id="Tc_9YAeBTpxc0m4VI0QSF-vMg_2_8_2"><ix:nonFraction unitRef="Unit_Standard_pure_AMt-SnY1f0Gk50TcxvjL4w" contextRef="As_Of_2_21_2023_bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeAxis_bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeTwoMember_bld_VestingCriteriaAxis_bld_VestingBasedOnPerformanceMember_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockMember_l5UG-ysvDk2viXbPGwMbEw" decimals="2" format="ixt:numdotdecimal" name="bld:ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangePercentage" scale="-2" id="Tc_9YAeBTpxc0m4VI0QSF-vMg_2_8_3">25</ix:nonFraction></ix:nonFraction></ix:nonFraction>%</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;width:10.3%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;"><ix:nonFraction unitRef="Unit_Standard_pure_AMt-SnY1f0Gk50TcxvjL4w" contextRef="As_Of_2_16_2021_bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeAxis_bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeThreeMember_bld_VestingCriteriaAxis_bld_VestingBasedOnPerformanceMember_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockMember_OmmzHBSRv0KhXVLpnBFIfg" decimals="2" format="ixt:numdotdecimal" name="bld:ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangePercentage" scale="-2" id="Tc_Kk7sMcO6k0q_i-TAFjz2LA_2_11"><ix:nonFraction unitRef="Unit_Standard_pure_AMt-SnY1f0Gk50TcxvjL4w" contextRef="As_Of_2_15_2022_bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeAxis_bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeThreeMember_bld_VestingCriteriaAxis_bld_VestingBasedOnPerformanceMember_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockMember_69B2qlpGiUyrS2sGtwV1Rg" decimals="2" format="ixt:numdotdecimal" name="bld:ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangePercentage" scale="-2" id="Tc_Kk7sMcO6k0q_i-TAFjz2LA_2_11_2"><ix:nonFraction unitRef="Unit_Standard_pure_AMt-SnY1f0Gk50TcxvjL4w" contextRef="As_Of_2_21_2023_bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeAxis_bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeThreeMember_bld_VestingCriteriaAxis_bld_VestingBasedOnPerformanceMember_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockMember_0-WmCsYgt0qXtbmsAf9p7Q" decimals="2" format="ixt:numdotdecimal" name="bld:ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangePercentage" scale="-2" id="Tc_Kk7sMcO6k0q_i-TAFjz2LA_2_11_3">100</ix:nonFraction></ix:nonFraction></ix:nonFraction>%</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;width:10.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;"><ix:nonFraction unitRef="Unit_Standard_pure_AMt-SnY1f0Gk50TcxvjL4w" contextRef="As_Of_2_16_2021_bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeAxis_bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeFourMember_bld_VestingCriteriaAxis_bld_VestingBasedOnPerformanceMember_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockMember_qn3f1xhgzU-6EowhoDebyQ" decimals="2" format="ixt:numdotdecimal" name="bld:ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangePercentage" scale="-2" id="Tc_fTmrzEVrFk-Ug79UjChUDQ_2_14"><ix:nonFraction unitRef="Unit_Standard_pure_AMt-SnY1f0Gk50TcxvjL4w" contextRef="As_Of_2_15_2022_bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeAxis_bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeFourMember_bld_VestingCriteriaAxis_bld_VestingBasedOnPerformanceMember_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockMember_20pQ2vjZmkSA5Dupjdkg8w" decimals="2" format="ixt:numdotdecimal" name="bld:ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangePercentage" scale="-2" id="Tc_fTmrzEVrFk-Ug79UjChUDQ_2_14_2"><ix:nonFraction unitRef="Unit_Standard_pure_AMt-SnY1f0Gk50TcxvjL4w" contextRef="As_Of_2_21_2023_bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeAxis_bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeFourMember_bld_VestingCriteriaAxis_bld_VestingBasedOnPerformanceMember_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockMember_jbDpA-QgMkKdsvXRK4OAKQ" decimals="2" format="ixt:numdotdecimal" name="bld:ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangePercentage" scale="-2" id="Tc_fTmrzEVrFk-Ug79UjChUDQ_2_14_3">200</ix:nonFraction></ix:nonFraction></ix:nonFraction>%</b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:41.14%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">February 16, 2021</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="Duration_2_16_2021_To_2_16_2021_bld_VestingCriteriaAxis_bld_VestingBasedOnPerformanceMember_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockMember_mAR8SC5oNk-LBfrQnVMH1A" decimals="-3" format="ixt:numdotdecimal" name="bld:ShareBasedCompensationArrangementByShareBasedPaymentAwardOtherThanOptionsGrantsInPeriodTotalGrantDateFairValue" scale="3" id="Tc_aPqh7XhVaEKja7WNtsS9Nw_3_3">2,197</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="As_Of_2_16_2021_bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeAxis_bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeTwoMember_bld_VestingCriteriaAxis_bld_VestingBasedOnPerformanceMember_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockMember_wQlfxRhuEEiIk1YVEIupOg" decimals="-3" format="ixt:numdotdecimal" name="bld:ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeRelatedExpenses" scale="3" id="Tc_47RkChqPv0STjuOd9TYK8Q_3_9">549</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="As_Of_2_16_2021_bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeAxis_bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeThreeMember_bld_VestingCriteriaAxis_bld_VestingBasedOnPerformanceMember_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockMember_OmmzHBSRv0KhXVLpnBFIfg" decimals="-3" format="ixt:numdotdecimal" name="bld:ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeRelatedExpenses" scale="3" id="Tc_4hg9lRh26UWkV-sm7O7bEw_3_12">2,197</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="As_Of_2_16_2021_bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeAxis_bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeFourMember_bld_VestingCriteriaAxis_bld_VestingBasedOnPerformanceMember_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockMember_qn3f1xhgzU-6EowhoDebyQ" decimals="-3" format="ixt:numdotdecimal" name="bld:ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeRelatedExpenses" scale="3" id="Tc_0AZqd3pR40-mfPvKO1BQZA_3_15">4,394</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:41.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">February 15, 2022</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="Duration_2_15_2022_To_2_15_2022_bld_VestingCriteriaAxis_bld_VestingBasedOnPerformanceMember_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockMember_Vngc00FGFUGnWHYv4_l1pA" decimals="-3" format="ixt:numdotdecimal" name="bld:ShareBasedCompensationArrangementByShareBasedPaymentAwardOtherThanOptionsGrantsInPeriodTotalGrantDateFairValue" scale="3" id="Tc_UW4gcTDxjk-hHq13CbR0IA_4_3">3,097</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="As_Of_2_15_2022_bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeAxis_bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeTwoMember_bld_VestingCriteriaAxis_bld_VestingBasedOnPerformanceMember_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockMember_gzkUEjuqbUGHUIaU2L0iqQ" decimals="-3" format="ixt:numdotdecimal" name="bld:ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeRelatedExpenses" scale="3" id="Tc_qjbv5NOUGUSoTe1vwda-fA_4_9">774</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="As_Of_2_15_2022_bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeAxis_bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeThreeMember_bld_VestingCriteriaAxis_bld_VestingBasedOnPerformanceMember_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockMember_69B2qlpGiUyrS2sGtwV1Rg" decimals="-3" format="ixt:numdotdecimal" name="bld:ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeRelatedExpenses" scale="3" id="Tc_iRofPKNsgUG5h1gyujfKkA_4_12">3,097</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="As_Of_2_15_2022_bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeAxis_bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeFourMember_bld_VestingCriteriaAxis_bld_VestingBasedOnPerformanceMember_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockMember_20pQ2vjZmkSA5Dupjdkg8w" decimals="-3" format="ixt:numdotdecimal" name="bld:ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeRelatedExpenses" scale="3" id="Tc_ojz2uShxhkK2UnYK-5la6w_4_15">6,194</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:41.14%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">February 21, 2023</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="Duration_2_21_2023_To_2_21_2023_bld_VestingCriteriaAxis_bld_VestingBasedOnPerformanceMember_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockMember__yz4vCyaPU6tUT1ZnQJqww" decimals="-3" format="ixt:numdotdecimal" name="bld:ShareBasedCompensationArrangementByShareBasedPaymentAwardOtherThanOptionsGrantsInPeriodTotalGrantDateFairValue" scale="3" id="Tc_GtKA5oagLU69ON7keOE1pg_5_3">4,192</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="As_Of_2_21_2023_bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeAxis_bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeTwoMember_bld_VestingCriteriaAxis_bld_VestingBasedOnPerformanceMember_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockMember_l5UG-ysvDk2viXbPGwMbEw" decimals="-3" format="ixt:numdotdecimal" name="bld:ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeRelatedExpenses" scale="3" id="Tc_8Rl2tMIPH0azvfqT20pcjw_5_9">1,048</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="As_Of_2_21_2023_bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeAxis_bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeThreeMember_bld_VestingCriteriaAxis_bld_VestingBasedOnPerformanceMember_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockMember_0-WmCsYgt0qXtbmsAf9p7Q" decimals="-3" format="ixt:numdotdecimal" name="bld:ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeRelatedExpenses" scale="3" id="Tc_RMCwDhpnhEaKQsoLrFOp3A_5_12">4,192</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="As_Of_2_21_2023_bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeAxis_bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeFourMember_bld_VestingCriteriaAxis_bld_VestingBasedOnPerformanceMember_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockMember_jbDpA-QgMkKdsvXRK4OAKQ" decimals="-3" format="ixt:numdotdecimal" name="bld:ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeRelatedExpenses" scale="3" id="Tc_aS8_IDdfz0WEb9sR4eic4g_5_15">8,384</ix:nonFraction></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></ix:nonNumeric><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;">During the first quarter of 2023, RSAs with performance-based conditions that were granted on February 17, 2020 vested based on cumulative <ix:nonNumeric contextRef="Duration_1_1_2023_To_3_31_2023_bld_VestingCriteriaAxis_bld_VestingBasedOnPerformanceMember_us-gaap_AwardTypeAxis_bld_RestrictedStockAwardsGrantedFebruary2020Member_JDOLuVdfSUmfI_mfJmb_0w" format="ixt-sec:durwordsen" name="bld:ShareBasedCompensationArrangementByShareBasedPaymentAwardOtherThanOptionsGrantsCumulativePeriodOfAchievement" id="Narr_t3uJiQgE40qnsImvdBlXXw">three-year</ix:nonNumeric> achievement of <ix:nonFraction unitRef="Unit_Standard_pure_AMt-SnY1f0Gk50TcxvjL4w" contextRef="Duration_1_1_2023_To_3_31_2023_bld_VestingCriteriaAxis_bld_VestingBasedOnPerformanceMember_us-gaap_AwardTypeAxis_bld_RestrictedStockAwardsGrantedFebruary2020Member_JDOLuVdfSUmfI_mfJmb_0w" decimals="2" format="ixt:numdotdecimal" name="bld:ShareBasedCompensationArrangementByShareBasedPaymentAwardOtherThanOptionsGrantsCumulativePeriodOfAchievementPercentage" scale="-2" id="Narr_7S_Dm7Q_fUyEUiUY12LNcQ">200</ix:nonFraction>%. Total compensation expense recognized over the <ix:nonNumeric contextRef="Duration_1_1_2023_To_3_31_2023_bld_VestingCriteriaAxis_bld_VestingBasedOnPerformanceMember_us-gaap_AwardTypeAxis_bld_RestrictedStockAwardsGrantedFebruary2020Member_JDOLuVdfSUmfI_mfJmb_0w" format="ixt-sec:durwordsen" name="bld:ShareBasedCompensationArrangementByShareBasedPaymentAwardOtherThanOptionsGrantsCumulativePeriodOfAchievement" id="Narr_06ckguwEvEGI9sUjvCYnRQ">three-year</ix:nonNumeric> performance period, net of forfeitures, was $<ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="Duration_1_1_2023_To_3_31_2023_bld_VestingCriteriaAxis_bld_VestingBasedOnPerformanceMember_us-gaap_AwardTypeAxis_bld_RestrictedStockAwardsGrantedFebruary2020Member_JDOLuVdfSUmfI_mfJmb_0w" decimals="-5" format="ixt:numdotdecimal" name="bld:ShareBasedCompensationArrangementByShareBasedPaymentAwardOtherThanOptionsGrantsTotalCompensationExpenseRecognizedOverPerformancePeriod" scale="6" id="Narr_xK4_FmXKskOOQLJ_oHABVw">5.0</ix:nonFraction> million.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;">The fair value of our RSAs with a market-based condition granted under the 2015 LTIP was determined using a Monte Carlo simulation. &#160;The following are key inputs in the Monte Carlo analysis for awards granted in 2023 and 2022:</p><ix:nonNumeric contextRef="Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA" name="bld:ScheduleOfShareBasedPaymentAwardOtherThanOptionsValuationAssumptionsTableTextBlock" id="Group_pDw11XnQcUyhRy0RMP0_7Q" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;white-space:nowrap;width:73.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:73.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.43%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.43%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:73.43%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">Measurement period (years)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><ix:nonNumeric contextRef="Duration_1_1_2023_To_3_31_2023_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockMember_4ijqTyXSBk22efw20Cbhig" format="ixt-sec:duryear" name="bld:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRemainingMeasurementPeriod" id="Tc_9aJwsbV8s0ueMCz10OS_Bg_2_3"><span style="font-size:9pt;"> 2.86</span></ix:nonNumeric></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><ix:nonNumeric contextRef="Duration_1_1_2022_To_3_31_2022_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockMember_UKkWCt5HdEySMnjbgbyOng" format="ixt-sec:duryear" name="bld:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRemainingMeasurementPeriod" id="Tc_-ZF2j5AIRU2gw4HtPO8bjw_2_7"><span style="font-size:9pt;"> 2.87</span></ix:nonNumeric></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:73.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">Risk free interest rate</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_pure_AMt-SnY1f0Gk50TcxvjL4w" contextRef="Duration_1_1_2023_To_3_31_2023_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockMember_4ijqTyXSBk22efw20Cbhig" decimals="4" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate" scale="-2" id="Tc_E2Etf4bM8USeJkLGNMmRFw_3_3">4.42</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_pure_AMt-SnY1f0Gk50TcxvjL4w" contextRef="Duration_1_1_2022_To_3_31_2022_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockMember_UKkWCt5HdEySMnjbgbyOng" decimals="4" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate" scale="-2" id="Tc_WOqTq5mT90KicuNXYDUugQ_3_7">1.76</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:73.43%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">Dividend yield</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_pure_AMt-SnY1f0Gk50TcxvjL4w" contextRef="Duration_1_1_2023_To_3_31_2023_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockMember_4ijqTyXSBk22efw20Cbhig" decimals="4" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate" scale="-2" id="Tc_-W13sIOf0kOBJvEBql1qzQ_4_3">0.00</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_pure_AMt-SnY1f0Gk50TcxvjL4w" contextRef="Duration_1_1_2022_To_3_31_2022_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockMember_UKkWCt5HdEySMnjbgbyOng" decimals="4" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate" scale="-2" id="Tc_57rMQrnb8k-2aW-_qZ-SdQ_4_7">0.00</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:73.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">Estimated fair value of market-based RSAs at grant date</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Divide_USD_shares_imdDf3-8d0qa5ZDAI6M6QA" contextRef="Duration_1_1_2023_To_3_31_2023_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockMember_4ijqTyXSBk22efw20Cbhig" decimals="2" format="ixt:numdotdecimal" name="bld:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsEstimatedFairValueOfAwardsGranted" scale="0" id="Tc_KEo85yPiAE6TZ1h-qg_Rvg_5_3">270.64</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Divide_USD_shares_imdDf3-8d0qa5ZDAI6M6QA" contextRef="Duration_1_1_2022_To_3_31_2022_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockMember_UKkWCt5HdEySMnjbgbyOng" decimals="2" format="ixt:numdotdecimal" name="bld:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsEstimatedFairValueOfAwardsGranted" scale="0" id="Tc_XGrNElcVc0aL1s2LwCt8Iw_5_7">298.20</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td></tr></table></ix:nonNumeric><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></ix:continuation><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.28;margin:0pt 0pt 8pt 0pt;"><span style="font-weight:bold;line-height:1.19;margin-bottom:0pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-family:'TimesNewRomanPSMT';font-size:1pt;visibility:hidden;">&#8203;</span></p></div><div style="clear:both;display:table;margin-bottom:30pt;min-height:0.35pt;width:100%;"><div style="display:table-cell;vertical-align:bottom;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:12pt 0pt 0pt 0pt;">17</p></div></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:79.3%;border:0;margin:30pt 10.35% 30pt 10.35%;"></div><div style="max-width:100%;padding-left:10.35%;padding-right:10.35%;position:relative;"><div style="margin-top:21.6pt;min-height:41.75pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt 0pt 30pt 0pt;"><a href="#Toc"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">TOPBUILD CORP.</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">NOTES TO CONDENSED CONSOLIDATED FINANCIAL STATEMENTS (Continued)</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-family:'TimesNewRomanPSMT';font-size:9pt;visibility:hidden;">&#8203;</span></p><a id="_Hlk109825186"></a><a id="Tc_h-dc5Td5H0OJ83LNfe7A6w_1_0"></a><a id="Tc_iTWFuXA4Bk2S7zu1snsCIw_1_2"></a><a id="Tc_UYAdn6fjgESdoe4NVuNzXw_1_5"></a><a id="Tc_KP_e8viedkaRkJijeGJ2Og_1_8"></a><a id="Tc_Qw0a29v9iU-jJJqiI1hKWw_2_0"></a><a id="Tc_5bFPhzF-XE2isivRetLQ3A_2_3"></a><a id="Tc_AsRx1myM8USbIDTXbZGOZQ_2_5"></a><a id="Tc_mfrjva0Q8EKEHk1U3Kb7xg_2_8"></a><a id="Tc_foWesaIE6E6X4F4ZzPRrtA_3_0"></a><a id="Tc_3QfkQBf99EO62WPuNrCHkA_3_3"></a><a id="Tc_DXYDrNiQ5kuXkgjN7CxpVQ_4_0"></a><a id="Tc_CLyq44lr_kmTKxluuhhLpA_4_5"></a><a id="Tc_OlNyX-AZ506a1STLhlR3BQ_4_8"></a><ix:nonNumeric contextRef="Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA" name="us-gaap:BusinessCombinationDisclosureTextBlock" id="Tb_a8qLMyhYBkyOEjnRmBgqPA" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><b style="font-weight:bold;white-space:pre-wrap;">11.  BUSINESS COMBINATIONS</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;">Acquiring businesses is a key part of our ongoing strategy to grow our company and expand our market share. &#160;Each acquisition has been accounted for as a business combination under ASC 805, &#8220;Business Combinations.&#8221; &#160;Acquisition related costs for the three months ended March 31, 2023 and 2022, were $<ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:BusinessCombinationAcquisitionRelatedCosts" scale="6" id="Narr_LadRLPf8KkG82yWdkg7DNg">1.7</ix:nonFraction> million and $<ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="Duration_1_1_2022_To_3_31_2022_6vn3vE91T0CiaH7EkBeDAw" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:BusinessCombinationAcquisitionRelatedCosts" scale="6" id="Narr_744MxHn2UECvt-PEqmh4CQ">0.9</ix:nonFraction> million, respectively. &#160;Acquisition related costs are included in selling, general, and administrative expense in our condensed consolidated statements of operations.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;">On January 26, 2023, we acquired the assets of the residential insulation business of SRI. This installation acquisition enhanced our presence in Georgia, Michigan, Ohio, Florida, Alabama and South Carolina. The purchase price of $<ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="Duration_1_26_2023_To_1_26_2023_us-gaap_BusinessAcquisitionAxis_bld_SriHoldingsMember_nTTMPP_zqEyg1SIj1QMP8w" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:BusinessCombinationConsiderationTransferred1" scale="6" id="Narr_RzQfu3tAb0WzTl8MK4aGAA">45.8</ix:nonFraction> million was funded by cash on hand and we recognized goodwill of $<ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="As_Of_1_26_2023_-udp3RObVE6S73XWB9r0EQ" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:Goodwill" scale="6" id="Narr_q9g_3wpIc0CPK-8zx0CsSg">25.4</ix:nonFraction> in connection with this acquisition.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="background:#ffffff;">As third-party or internal valuations are finalized, certain tax aspects of the foregoing transactions are completed, and customer post-closing reviews are concluded, adjustments may be made to the fair value of assets acquired, and in some cases total purchase price, through the end of each measurement period, generally one year following the applicable acquisition date. &#160;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;">The table below provides a summary as of March 31, 2023 for the businesses acquired and paid for with cash during the three months ended March 31, 2022, in thousands:</p><ix:nonNumeric contextRef="Duration_1_1_2023_To_3_31_2023_us-gaap_BusinessAcquisitionAxis_bld_Acquisitions2022Member_1QXhCc_AR0OBZkhKxfgkNw" name="us-gaap:ScheduleOfBusinessAcquisitionsByAcquisitionTextBlock" id="Tb_vt_wMBIcnEGG0IyfgKCdgg" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;white-space:nowrap;width:33.34%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:14.15%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:18.74%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:18.74%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:33.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"><b style="font-weight:bold;">2022 Acquisitions</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:16.65%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Date</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';">&#160;&#160;&#160;&#160;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:21.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Cash Paid</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;width:21.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Goodwill Acquired</b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:33.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;">Billings</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;">2/3/2022</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.74%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="Duration_2_23_2022_To_2_23_2022_us-gaap_BusinessAcquisitionAxis_bld_BillingsInsulationServiceInc.Member_Pshe7EaeS0-Oyt4mLUscag" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:PaymentsToAcquireBusinessesGross" scale="3" id="Tc_JP6YHfWQlkuoLXPdOgT4Sw_2_6">7,005</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.74%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="Duration_2_23_2022_To_2_23_2022_us-gaap_BusinessAcquisitionAxis_bld_BillingsInsulationServiceInc.Member_Pshe7EaeS0-Oyt4mLUscag" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:GoodwillAcquiredDuringPeriod" scale="3" id="Tc_9v2IhU5sdUC8p-YLOixnNQ_2_9">3,313</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:33.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;">All others</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;">Various</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.74%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="Duration_1_1_2022_To_3_31_2022_us-gaap_BusinessAcquisitionAxis_us-gaap_SeriesOfIndividuallyImmaterialBusinessAcquisitionsMember_q6UeZXiAL06a3rbU9Kgdmg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:PaymentsToAcquireBusinessesGross" scale="3" id="Tc_U1j_ZJGjvEaFgLDKq1fHRw_3_6">1,500</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.74%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="Duration_1_1_2022_To_3_31_2022_us-gaap_BusinessAcquisitionAxis_us-gaap_SeriesOfIndividuallyImmaterialBusinessAcquisitionsMember_q6UeZXiAL06a3rbU9Kgdmg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:GoodwillAcquiredDuringPeriod" scale="3" id="Tc_smM79HqxMEGchfYGUATjFg_3_9">780</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:33.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">Total</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.74%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="Duration_1_1_2022_To_3_31_2022_us-gaap_BusinessAcquisitionAxis_bld_Acquisitions2022Member_nqN1YfNvu0qGN9sc0Tbtiw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:PaymentsToAcquireBusinessesGross" scale="3" id="Tc_rpnhjjG6kEe-wu7Ua7rbLQ_4_6">8,505</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.74%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="Duration_1_1_2022_To_3_31_2022_us-gaap_BusinessAcquisitionAxis_bld_Acquisitions2022Member_nqN1YfNvu0qGN9sc0Tbtiw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:GoodwillAcquiredDuringPeriod" scale="3" id="Tc_FLPESoxPlk2yyjRfnuAItQ_4_9">4,093</ix:nonFraction></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></ix:nonNumeric><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;">Goodwill to be recognized in connection with acquisitions is attributable to the synergies expected to be realized and improvements in the businesses after the acquisitions. &#160;Primarily all of the $<ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="As_Of_3_31_2023_if5iG1tra0aH_pegPPBopw" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:BusinessAcquisitionPurchasePriceAllocationGoodwillExpectedTaxDeductibleAmount" scale="6" id="Narr_gOq_OD3qxE-vqdSkAKCgWA">25.4</ix:nonFraction> million and $<ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="As_Of_3_31_2022__Zk_lDEdHEWJ823DIF3NZg" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:BusinessAcquisitionPurchasePriceAllocationGoodwillExpectedTaxDeductibleAmount" scale="6" id="Narr_kPSvnCWWvUOsauDjXrIG-A">4.1</ix:nonFraction> million of goodwill recorded from acquisitions completed in the three months ended March 31, 2023 and 2022, respectively, is expected to be deductible for income tax purposes.</p></ix:nonNumeric><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><a id="_087384b3_d0a7_4ac6_866e_28e13be51f59"></a><a id="Tc_nvdY7Ot970WfAGRj1fM7lA_1_2"></a><a id="Tc_83E6QhDn2ky0FqKxscBxdA_2_2"></a><a id="Tc_ExJsTU2-2k68LTqZS6FRvQ_2_5"></a><a id="Tc_jxLxqGj2A0OSw4SyC9-lUQ_3_0"></a><a id="Tc_V4sdGq8BR0qQaRVgHZYhPw_4_0"></a><a id="Tc_hSw5esq620ykEK44KoEHkQ_4_2"></a><a id="Tc_otaopD560kOOQlmmwsSuFg_4_5"></a><a id="Tc_tCDo36UIY0GByCEbBedOGQ_5_0"></a><a id="Tc_nszhMIfcbUO7tgsnEclAAA_6_0"></a><a id="Tc_M_i6f9yOS0yttrg0ony-Bw_7_0"></a><a id="Tc_4wFgGajRfUi6Js27t3i_KA_8_0"></a><a id="Tc_r-7XAn7Q6U-yyJ8-eh1oFg_9_0"></a><a id="Tc_hgSJpqAu3UmJlcHl1151zg_10_0"></a><a id="Tc_58jJC04WWECW785OadaiXA_11_0"></a><a id="Tc_M9HLzP_L4kuLTGJpBoOIuw_12_0"></a><a id="Tc_UIOGvTdP_EGOZZYX5GBH4Q_12_2"></a><a id="Tc_eQlxh-igpEu5RL9b2dZfyw_12_5"></a><ix:nonNumeric contextRef="Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA" name="bld:AccruedLiabilitiesDisclosureTextBlock" id="Tb_LqeNthEnAUC6oKXWIicFwg" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:6pt 0pt 0pt 0pt;"><b style="font-weight:bold;">12. &#160;ACCRUED LIABILITIES</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><ix:nonNumeric contextRef="Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA" name="us-gaap:ScheduleOfAccruedLiabilitiesTableTextBlock" id="Tb_dZaoJ0eZq06RUtljomqjZA" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;">The following table sets forth the components of accrued liabilities, in thousands:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:66.28%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.11%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.96%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:66.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:31.84%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">As of</b></p></td></tr><tr><td style="vertical-align:bottom;width:66.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.53%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">March 31, 2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.44%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">December 31, 2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:66.28%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">Accrued liabilities: </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:66.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;">Salaries, wages, and bonus/commissions</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="As_Of_3_31_2023_if5iG1tra0aH_pegPPBopw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:EmployeeRelatedLiabilitiesCurrent" scale="3" id="Tc_7YENQyipnEKakpQ1ca9iZg_4_3">52,742</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="As_Of_12_31_2022_3M6K0OeVvUOHwft-0BiHjg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:EmployeeRelatedLiabilitiesCurrent" scale="3" id="Tc_tmYD-XmRhE6FYSR5krNG3w_4_6">75,901</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:66.28%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;">Income taxes payable</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="As_Of_3_31_2023_if5iG1tra0aH_pegPPBopw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AccruedIncomeTaxesCurrent" scale="3" id="Tc_IIxHwIdDrUWEh1Fl2kUY_Q_5_3">40,740</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="As_Of_12_31_2022_3M6K0OeVvUOHwft-0BiHjg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AccruedIncomeTaxesCurrent" scale="3" id="Tc_-d-EqccjsUWAMmh02EsLmA_5_6">2,134</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:66.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;">Insurance liabilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="As_Of_3_31_2023_if5iG1tra0aH_pegPPBopw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AccruedInsuranceCurrent" scale="3" id="Tc_yXGUwOlNPEaYD5JwgIaUbQ_6_3">28,199</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="As_Of_12_31_2022_3M6K0OeVvUOHwft-0BiHjg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AccruedInsuranceCurrent" scale="3" id="Tc_KwLh4tKMakCCbtVtu50HLA_6_6">28,870</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:66.28%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;">Customer rebates</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="As_Of_3_31_2023_if5iG1tra0aH_pegPPBopw" decimals="-3" format="ixt:numdotdecimal" name="bld:AccruedCustomerRebatesCurrent" scale="3" id="Tc_AZqPH56_CESOTEeK-QUmeQ_7_3">11,169</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="As_Of_12_31_2022_3M6K0OeVvUOHwft-0BiHjg" decimals="-3" format="ixt:numdotdecimal" name="bld:AccruedCustomerRebatesCurrent" scale="3" id="Tc_rrLz32yFck-QkhBp10_Wig_7_6">21,561</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:66.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;">Deferred revenue</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="As_Of_3_31_2023_if5iG1tra0aH_pegPPBopw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ContractWithCustomerLiabilityCurrent" scale="3" id="Tc_7BCE9lI010-bORndm7FPCw_8_3">20,738</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="As_Of_12_31_2022_3M6K0OeVvUOHwft-0BiHjg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ContractWithCustomerLiabilityCurrent" scale="3" id="Tc_jwsqSwHm-UiGa9xgeEkDgw_8_6">21,940</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:66.28%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;">Sales and property taxes</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="As_Of_3_31_2023_if5iG1tra0aH_pegPPBopw" decimals="-3" format="ixt:numdotdecimal" name="bld:AccruedSalesAndPropertyTaxesCurrent" scale="3" id="Tc_zuisSYswZ0CVBQd7kKdlsA_9_3">15,850</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="As_Of_12_31_2022_3M6K0OeVvUOHwft-0BiHjg" decimals="-3" format="ixt:numdotdecimal" name="bld:AccruedSalesAndPropertyTaxesCurrent" scale="3" id="Tc_TumBM_6M2EKZmbu8nAhkXQ_9_6">15,757</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:66.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;">Interest payable on long-term debt</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="As_Of_3_31_2023_if5iG1tra0aH_pegPPBopw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:InterestPayableCurrent" scale="3" id="Tc_lCsyqtpnWEuUle9f-th1nA_10_3">3,193</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="As_Of_12_31_2022_3M6K0OeVvUOHwft-0BiHjg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:InterestPayableCurrent" scale="3" id="Tc_r2bjNJPEYE-zqVdW58HjkA_10_6">12,146</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:66.28%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;">Other</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.11%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="As_Of_3_31_2023_if5iG1tra0aH_pegPPBopw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherAccruedLiabilitiesCurrent" scale="3" id="Tc_8b30WhPpiUObgRGdAmiHMQ_11_3">20,716</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.96%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="As_Of_12_31_2022_3M6K0OeVvUOHwft-0BiHjg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherAccruedLiabilitiesCurrent" scale="3" id="Tc_H7Fq_hOycUuYf26Dh6Pe9g_11_6">21,061</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:66.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">Total accrued liabilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.11%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="As_Of_3_31_2023_if5iG1tra0aH_pegPPBopw" decimals="-3" format="ixt:numdotdecimal" name="bld:AccruedLiabilitiesAndEmployeeRelatedLiabilitiesCurrent" scale="3" id="Tc_H2bivySfU0yM_paudwPf5g_12_3">193,347</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.96%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="As_Of_12_31_2022_3M6K0OeVvUOHwft-0BiHjg" decimals="-3" format="ixt:numdotdecimal" name="bld:AccruedLiabilitiesAndEmployeeRelatedLiabilitiesCurrent" scale="3" id="Tc_IYRkAWGv5kSTyckZCsWdSg_12_6">199,370</ix:nonFraction></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="font-size:3pt;visibility:hidden;">&#8203;</span></p></ix:nonNumeric><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="font-size:2pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;">See <i style="font-style:italic;">Note 3 &#8211; Revenue Recognition </i>for discussion of our deferred revenue balances. Accrued income taxes payable increased compared to December 31, 2022, due to the timing of tax payments, which typically occur later in the year.</p></ix:nonNumeric><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></div><div style="clear:both;display:table;margin-bottom:30pt;min-height:0.35pt;width:100%;"><div style="display:table-cell;vertical-align:bottom;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:12pt 0pt 0pt 0pt;">18</p></div></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:79.3%;border:0;margin:30pt 10.35% 30pt 10.35%;"></div><div style="max-width:100%;padding-left:10.35%;padding-right:10.35%;position:relative;"><div style="margin-top:21.6pt;min-height:41.75pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt 0pt 30pt 0pt;"><a href="#Toc"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">TOPBUILD CORP.</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">NOTES TO CONDENSED CONSOLIDATED FINANCIAL STATEMENTS (Continued)</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></div><div style="clear:both;max-width:100%;position:relative;"><a id="_fceb3533_4bed_4464_923a_f99483fe41e7"></a><a id="Tc_RdAdcuIi-kid9MldO6OpsQ_1_2"></a><a id="Tc_7UazaHijJEGtBvZRGCjmbQ_2_2"></a><a id="Tc_LTOo7wYjqEidq2LbWCUsOg_2_5"></a><a id="Tc_sfDFdhXcCk6AgqUVAdVUfg_3_0"></a><a id="Tc_euNE-2tDZk-a6kOf8Zw3JQ_4_0"></a><a id="Tc_2OjDC6pasE6xnMkHH1jXHw_4_2"></a><a id="Tc_07OSc_JbAkKQCpsSUbKnqg_4_5"></a><a id="Tc_opJ0VmSZZUm1tO5pfLFOzQ_5_0"></a><a id="Tc_afBnPai1ekqyUZ0GX9a75w_6_0"></a><a id="Tc_hdO-sK8SHkuX2K0S7CdRGg_6_2"></a><a id="Tc_rRiyxa6pyEKqseEjv5iSMA_6_5"></a><ix:nonNumeric contextRef="Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA" name="us-gaap:CommitmentsAndContingenciesDisclosureTextBlock" id="Tb_d7viN08Hlkm7Kb49L2830A" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><b style="font-weight:bold;">13. &#160;OTHER COMMITMENTS AND CONTINGENCIES</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="font-style:italic;font-weight:bold;">Litigation</span>. &#160;We are subject to certain claims, charges, litigation, and other proceedings in the ordinary course of our business, including those arising from or related to contractual matters, intellectual property, personal injury, environmental matters, product liability, product recalls, construction defects, insurance coverage, personnel and employment disputes, antitrust, and other matters, including class actions. &#160;We believe we have adequate defenses in these matters, and we do not believe that the ultimate outcome of these matters will have a material adverse effect on us. &#160;However, there is no assurance that we will prevail in any of these pending matters, and we could in the future incur judgments, enter into settlements of claims, or revise our expectations regarding the outcome of these matters, which could materially impact our liquidity and our results of operations.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><b style="font-weight:bold;">Other Matters</b>.&#160; We enter into contracts, which include customary indemnities that are standard for the industries in which we operate. &#160;Such indemnities include, among other things, claims against our builder customers for issues relating to our workmanship. &#160;We generally exclude from our contracts with builder customers indemnity relating to product quality and warranty claims, as we pass such claims directly to the manufacturers of the products we install or distribute. &#160;In conjunction with divestitures and other transactions, we occasionally provide customary indemnities relating to various items including, among others, the enforceability of trademarks, legal and environmental issues, and asset valuations. &#160;We evaluate the probability that we may incur liabilities under these customary indemnities and appropriately record an estimated liability when deemed probable.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;">We also maintain indemnification agreements with our directors and officers that may require us to indemnify them against liabilities that arise by reason of their status or service as directors or officers, except as prohibited by applicable law.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;">We occasionally use performance bonds to ensure completion of our work on certain larger customer contracts that can span multiple accounting periods.&#160; Performance bonds generally do not have stated expiration dates; rather, we are released from the bonds as the contractual performance is completed.&#160; We also have bonds outstanding for license and insurance.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><ix:nonNumeric contextRef="Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA" name="bld:BondsOutstandingTableTextBlock" id="Tb_bpyBvdGREkG_tqWl88Tgkw" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;">The following table summarizes our outstanding performance, licensing, insurance and other bonds, in thousands:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:67.62%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.47%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:67.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:30.86%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">As of</b></p></td></tr><tr><td style="vertical-align:bottom;width:67.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.36%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">March 31, 2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">December 31, 2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:67.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">Outstanding bonds:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:67.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;">Performance bonds</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="As_Of_3_31_2023_if5iG1tra0aH_pegPPBopw" decimals="-3" format="ixt:numdotdecimal" name="bld:PerformanceBondsOutstanding" scale="3" id="Tc_wjBcPOc3-0-TEVRXcPV4BQ_4_3">147,468</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="As_Of_12_31_2022_3M6K0OeVvUOHwft-0BiHjg" decimals="-3" format="ixt:numdotdecimal" name="bld:PerformanceBondsOutstanding" scale="3" id="Tc_Wm_PwNmGS0eBqqh_pcoesA_4_6">152,434</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:67.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;">Licensing, insurance, and other bonds</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.85%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="As_Of_3_31_2023_if5iG1tra0aH_pegPPBopw" decimals="-3" format="ixt:numdotdecimal" name="bld:LicenseAndInsuranceRelatedAndOtherBondsOutstanding" scale="3" id="Tc_M4y3KCJRMEm5UervT7gGYQ_5_3">25,527</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.47%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="As_Of_12_31_2022_3M6K0OeVvUOHwft-0BiHjg" decimals="-3" format="ixt:numdotdecimal" name="bld:LicenseAndInsuranceRelatedAndOtherBondsOutstanding" scale="3" id="Tc_i8Ur2x77jk6XYyU5g23PNA_5_6">25,439</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:67.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">Total bonds</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.85%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="As_Of_3_31_2023_if5iG1tra0aH_pegPPBopw" decimals="-3" format="ixt:numdotdecimal" name="bld:BondsOutstanding" scale="3" id="Tc_z1xMFk74QUeUcU2c9yoyJQ_6_3">172,995</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.47%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw" contextRef="As_Of_12_31_2022_3M6K0OeVvUOHwft-0BiHjg" decimals="-3" format="ixt:numdotdecimal" name="bld:BondsOutstanding" scale="3" id="Tc_rjTIaB7_CUihbG3UmtiUGw_6_6">177,873</ix:nonFraction></p></td></tr></table></ix:nonNumeric><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></ix:nonNumeric><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p><p style="display:none;font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:0pt;margin:0pt;"><span style="font-size:0pt;line-height:1.19;visibility:hidden;">&#8203;</span></p></div><div style="clear:both;display:table;margin-bottom:30pt;min-height:0.35pt;width:100%;"><div style="display:table-cell;vertical-align:bottom;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:12pt 0pt 0pt 0pt;">19</p></div></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:79.3%;border:0;margin:30pt 10.35% 30pt 10.35%;"></div><div style="max-width:100%;padding-left:10.35%;padding-right:10.35%;position:relative;"><div style="margin-top:21.6pt;min-height:41.75pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt 0pt 30pt 0pt;"><a href="#Toc"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><a id="_541f0585_6f86_49ed_b2ec_d42a9a4a084c"></a><a id="ITEM2MANAGEMENTSDISCUSSIONANDANALYSISOFF"></a><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.28;margin:0pt 0pt 8pt 0pt;"><b style="font-weight:bold;white-space:pre-wrap;">Item 2.  MANAGEMENT&#8217;S DISCUSSION AND ANALYSIS OF FINANCIAL CONDITION AND RESULTS OF OPERATIONS</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;line-height:1.19;margin:0pt;">OVERVIEW</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;">TopBuild Corp., headquartered in Daytona Beach, Florida, is a leading installer and specialty distributor of insulation and other building material products to the construction industry in the United States and Canada. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="font-family:'TimesNewRoman';visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="font-family:'TimesNewRomanPSMT';">We operate in two segments: Installation and Specialty Distribution. Our Installation segment installs insulation and other</span><span style="font-family:'TimesNewRoman';"> </span><span style="font-family:'TimesNewRomanPSMT';">building products nationwide. &#160;As of March 31, 2023, we had approximately 235 Installation branches located across the United States.</span><span style="font-family:'TimesNewRoman';"> </span><span style="font-family:'TimesNewRomanPSMT';">We install various insulation applications, including fiberglass batts and rolls, blown-in loose fill fiberglass, polyurethane spray foam, and blown-in loose</span><span style="font-family:'TimesNewRoman';"> </span><span style="font-family:'TimesNewRomanPSMT';">fill cellulose. Additionally, we install other building products including glass and windows,</span><span style="font-family:'TimesNewRoman';"> </span><span style="font-family:'TimesNewRomanPSMT';">rain gutters, after paint products, fireproofing, garage doors, and fireplaces. We handle every stage of the installation</span><span style="font-family:'TimesNewRoman';"> </span><span style="font-family:'TimesNewRomanPSMT';">process, including material procurement supplied by leading manufacturers, project scheduling and logistics, multi-phase</span><span style="font-family:'TimesNewRoman';"> </span><span style="font-family:'TimesNewRomanPSMT';">professional installation, and installation quality assurance.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="font-family:'TimesNewRoman';visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="font-family:'TimesNewRomanPSMT';">Our Specialty Distribution segment distributes </span>building and mechanical insulation, insulation accessories, rain gutters, and other building product materials for the residential and commercial/industrial end markets<span style="font-family:'TimesNewRomanPSMT';">. &#160;As of March 31, 2023, we had approximately 162 distribution centers located</span><span style="font-family:'TimesNewRoman';"> </span><span style="font-family:'TimesNewRomanPSMT';">across the United States and 18 distribution centers in Canada. Our Specialty Distribution customer base </span>consists of thousands of insulation contractors of all sizes serving a wide variety of residential and commercial/industrial industries, gutter contractors, weatherization contractors, other contractors, dealers, metal building erectors, and modular home <span style="font-family:'TimesNewRomanPSMT';">builders.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="font-family:'TimesNewRoman';visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;">We believe that having both Installation and Specialty Distribution provides us with a number of distinct competitive advantages.&#160; First, the combined buying power of our two business segments, along with our scale, strengthens our ties to the major manufacturers of insulation and other building material products.&#160; This helps to ensure we are buying competitively and ensures the availability of supply to our local branches and distribution centers.&#160; &#160;The overall effect is driving efficiencies through our supply chain.&#160; Second, being a leader in both installation and specialty distribution allows us to reach a broader set of builders and contractors more effectively, regardless of their size or geographic location in the U.S. and Canada, and leverage housing and commercial/industrial construction growth wherever it occurs.&#160;&#160;Third, during housing industry downturns, many insulation contractors who buy directly from manufacturers during industry peaks return to purchasing through specialty distributors.&#160; As a result, this helps to reduce our exposure to cyclical swings in our business.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="font-family:'TimesNewRoman';visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="font-family:'TimesNewRomanPSMT';">For additional details pertaining to our operating results by segment, see </span><span style="font-family:'TimesNewRomanPSMT';">Note 7 &#8211; Segment Information </span><span style="font-family:'TimesNewRomanPSMT';">to our unaudited</span><span style="font-family:'TimesNewRoman';"> </span><span style="font-family:'TimesNewRomanPSMT';">condensed consolidated financial statements contained in Part I, Item 1 of this Quarterly Report. For additional details</span><span style="font-family:'TimesNewRoman';"> </span><span style="font-family:'TimesNewRomanPSMT';">regarding our strategy, material trends in our business and seasonality, please refer to Part II, Item 7, &#8220;Management&#8217;s</span><span style="font-family:'TimesNewRoman';"> </span><span style="font-family:'TimesNewRomanPSMT';">Discussion and Analysis of Financial Condition and Results of Operations&#8221; in our Annual Report for the year ended</span><span style="font-family:'TimesNewRoman';"> </span><span style="font-family:'TimesNewRomanPSMT';">December 31, 2022, as filed with the SEC on February 23, 2023.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;">The following discussion and analysis contains forward-looking statements and should be read in conjunction with the unaudited condensed consolidated financial statements, the notes thereto, and the section entitled &#8220;Forward-Looking Statements&#8221; included in this Quarterly Report.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></div><div style="clear:both;display:table;margin-bottom:30pt;min-height:0.35pt;width:100%;"><div style="display:table-cell;vertical-align:bottom;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:24pt 0pt 0pt 0pt;">20</p></div></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:79.3%;border:0;margin:30pt 10.35% 30pt 10.35%;"></div><div style="max-width:100%;padding-left:10.35%;padding-right:10.35%;position:relative;"><div style="margin-top:21.6pt;min-height:41.75pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt 0pt 30pt 0pt;"><a href="#Toc"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><b style="font-weight:bold;">FIRST QUARTER 2023 VERSUS FIRST QUARTER 2022</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;">The following table sets forth our net sales, gross profit, operating profit, and margins, as reported in our condensed consolidated statements of operations, in thousands:</p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;white-space:nowrap;width:72.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:0.06%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:middle;width:1.57%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:50%;transform:translate(0,-50%);width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.6%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.56%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:middle;width:1.56%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:50%;transform:translate(0,-50%);width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.59%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:middle;white-space:nowrap;width:72.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:25.89%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Three Months Ended March&#160;31,&#160;</b></p></td><td style="vertical-align:middle;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:middle;white-space:nowrap;width:72.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.17%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.15%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td><td style="vertical-align:middle;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:72.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"><b style="font-weight:bold;">Net sales</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;width:1.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><b style="font-weight:bold;white-space:pre-wrap;"> 1,265,238</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.56%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;width:1.56%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><b style="font-weight:bold;white-space:pre-wrap;"> 1,168,918</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:72.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">Cost of sales</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 895,023</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 837,717</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:72.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"><i style="font-style:italic;">Cost of sales ratio</i></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;font-style:italic;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;font-style:italic;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><i style="font-style:italic;white-space:pre-wrap;"> 70.7</i></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.56%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"><i style="font-style:italic;">%</i></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.56%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;font-style:italic;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><i style="font-style:italic;white-space:pre-wrap;"> 71.7</i></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"><i style="font-style:italic;">%</i></p></td></tr><tr><td style="vertical-align:bottom;width:72.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;font-style:italic;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;font-style:italic;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.57%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;font-style:italic;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.6%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;font-style:italic;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;font-style:italic;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.56%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;font-style:italic;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;font-style:italic;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;font-style:italic;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:72.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt 0pt 0pt 6pt;"><b style="font-weight:bold;">Gross profit</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><b style="font-weight:bold;white-space:pre-wrap;"> 370,215</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.56%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.56%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><b style="font-weight:bold;white-space:pre-wrap;"> 331,201</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:72.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt 0pt 0pt 6pt;"><i style="font-style:italic;">Gross profit margin</i></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;font-style:italic;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;font-style:italic;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><i style="font-style:italic;white-space:pre-wrap;"> 29.3</i></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"><i style="font-style:italic;">%</i></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;font-style:italic;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><i style="font-style:italic;white-space:pre-wrap;"> 28.3</i></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"><i style="font-style:italic;">%</i></p></td></tr><tr><td style="vertical-align:bottom;width:72.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt 0pt 0pt 6pt;"><span style="font-size:9pt;font-style:italic;margin-left:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;font-style:italic;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;font-style:italic;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;font-style:italic;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.56%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;font-style:italic;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.56%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;font-style:italic;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;font-style:italic;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;font-style:italic;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:72.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">Selling, general, and administrative expense</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 170,784</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 167,247</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:72.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"><i style="font-style:italic;">Selling, general, and administrative expense to sales ratio</i></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;font-style:italic;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;font-style:italic;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><i style="font-style:italic;white-space:pre-wrap;"> 13.5</i></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.56%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"><i style="font-style:italic;">%</i></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.56%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;font-style:italic;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><i style="font-style:italic;white-space:pre-wrap;"> 14.3</i></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"><i style="font-style:italic;">%</i></p></td></tr><tr><td style="vertical-align:bottom;width:72.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;font-style:italic;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;font-style:italic;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.57%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;font-style:italic;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.6%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;font-style:italic;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;font-style:italic;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.56%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;font-style:italic;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;font-style:italic;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;font-style:italic;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:72.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt 0pt 0pt 6pt;"><b style="font-weight:bold;">Operating profit</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;font-style:italic;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;font-style:italic;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><b style="font-weight:bold;white-space:pre-wrap;"> 199,431</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.56%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.56%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><b style="font-weight:bold;white-space:pre-wrap;"> 163,954</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;font-style:italic;font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:72.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt 0pt 0pt 6pt;"><i style="font-style:italic;">Operating profit margin</i></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;font-style:italic;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;font-style:italic;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><i style="font-style:italic;white-space:pre-wrap;"> 15.8</i></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"><i style="font-style:italic;">%</i></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;font-style:italic;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><i style="font-style:italic;white-space:pre-wrap;"> 14.0</i></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"><i style="font-style:italic;">%</i></p></td></tr><tr><td style="vertical-align:bottom;width:72.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt 0pt 0pt 6pt;"><span style="font-size:9pt;font-style:italic;margin-left:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;font-style:italic;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;font-style:italic;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;font-style:italic;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.56%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;font-style:italic;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.56%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;font-style:italic;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;font-style:italic;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;font-style:italic;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:72.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">Other expense, net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt;"><span style="white-space:pre-wrap;"> (16,116)</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt;"><span style="white-space:pre-wrap;"> (11,282)</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:72.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">Income tax expense</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.57%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.6%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt;"><span style="white-space:pre-wrap;"> (47,445)</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.56%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.56%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.59%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt;"><span style="white-space:pre-wrap;"> (37,961)</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:72.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt 0pt 0pt 6pt;"><b style="font-weight:bold;">Net income</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.57%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.6%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><b style="font-weight:bold;white-space:pre-wrap;"> 135,870</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.56%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.59%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><b style="font-weight:bold;white-space:pre-wrap;"> 114,711</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:72.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt 0pt 0pt 6pt;"><i style="font-style:italic;">Net margin</i></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;font-style:italic;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;font-style:italic;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><i style="font-style:italic;white-space:pre-wrap;"> 10.7</i></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.56%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"><i style="font-style:italic;">%</i></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.56%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;font-style:italic;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><i style="font-style:italic;white-space:pre-wrap;"> 9.8</i></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"><i style="font-style:italic;">%</i></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><i style="font-style:italic;">Sales and Operations</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;background:#ffffff;margin:0pt;"><span style="color:#212529;">Net sales increased 8.2% for the three months ended March 31, 2023, from the comparable period of 2022.&#160;&#160;The increase was primarily driven by a 5.7% impact from higher selling prices, a 1.3% increase in sales from acquisitions, and a 1.2% increase in sales volume.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;background:#ffffff;margin:0pt;"><span style="color:#212529;">&#160;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;background:#ffffff;margin:0pt;"><span style="color:#212529;">Gross profit margins were 29.3% and 28.3% for the three months ended March 31, 2023 and 2022, respectively.&#160; </span><span style="color:#212529;">Gross profit margin improved primarily due to productivity initiatives, higher selling prices and higher sales volume partially offset by an increase in cost of material.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;background:#ffffff;margin:0pt;"><span style="color:#212529;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="color:#212529;">Selling, general, and administrative expenses as a percentage of sales were 13.5% and 14.3% for the three months ended March 31, 2023 and 2022, respectively. &#160;</span><span style="background:#ffffff;">Decreased selling, general, and administrative expenses as a percent of sales was primarily the result of higher sales and productivity initiatives.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;background:#ffffff;margin:0pt;"><span style="color:#212529;visibility:hidden;background:#ffff00;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="color:#212529;">Operating margins were 15.8% and 14.0% for the three months ended March 31, 2023 and 2022,&#160;respectively.&#160;The increase in operating margins was due to higher selling prices and higher sales volume, and productivity initiatives partially offset by an increase in cost of material.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="color:#212529;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="color:#212529;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="color:#212529;visibility:hidden;">&#8203;</span></p></div><div style="clear:both;display:table;margin-bottom:30pt;min-height:0.35pt;width:100%;"><div style="display:table-cell;vertical-align:bottom;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:12pt 0pt 0pt 0pt;">21</p></div></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:79.3%;border:0;margin:30pt 10.35% 30pt 10.35%;"></div><div style="max-width:100%;padding-left:10.35%;padding-right:10.35%;position:relative;"><div style="margin-top:21.6pt;min-height:41.75pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt 0pt 30pt 0pt;"><a href="#Toc"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><b style="font-weight:bold;">Business Segment Results</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;">The following table sets forth our net sales and operating profit margins by business segment, in thousands:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:52.36%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.22%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.44%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.62%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:52.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:29.38%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Three Months Ended March&#160;31,&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:12.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:52.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.75%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.77%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.62%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Percent Change</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"><b style="font-weight:bold;">&#160;</b></p></td></tr><tr><td style="vertical-align:bottom;width:52.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"><b style="font-weight:bold;">Net sales by business segment:</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:52.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt 0pt 0pt 6pt;">Installation</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 767,090</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 676,693</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 13.4</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:52.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt 0pt 0pt 6pt;">Specialty Distribution</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 558,375</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 543,862</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 2.7</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:52.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt 0pt 0pt 6pt;">Intercompany eliminations </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.44%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt;"><span style="white-space:pre-wrap;"> (60,227)</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt;"><span style="white-space:pre-wrap;"> (51,637)</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.62%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:52.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt 0pt 0pt 18pt;"><b style="font-weight:bold;">Net sales</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.44%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1,265,238</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.45%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1,168,918</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.62%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 8.2</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:52.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:52.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"><b style="font-weight:bold;">Operating profit by business segment:</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:52.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt 0pt 0pt 6pt;">Installation </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 146,897</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 112,679</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 30.4</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:52.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt 0pt 0pt 6pt;">Specialty Distribution</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 73,333</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 70,420</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 4.1</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:52.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt 0pt 0pt 6pt;">Intercompany eliminations</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.44%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt;"><span style="white-space:pre-wrap;"> (9,971)</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt;"><span style="white-space:pre-wrap;"> (8,708)</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.62%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:52.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt 0pt 0pt 18pt;">Operating profit before general corporate expense</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 210,259</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 174,391</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 20.6</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:52.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt 0pt 0pt 6pt;">General corporate expense, net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.44%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt;"><span style="white-space:pre-wrap;"> (10,828)</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt;"><span style="white-space:pre-wrap;"> (10,437)</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.62%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:52.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt 0pt 0pt 18pt;"><b style="font-weight:bold;">Operating profit</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.44%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 199,431</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.45%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 163,954</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.62%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 21.6</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:52.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:52.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"><b style="font-weight:bold;">Operating profit margins:</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:52.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt 0pt 0pt 6pt;">Installation</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 19.1</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 16.7</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:52.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt 0pt 0pt 6pt;">Specialty Distribution</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 13.1</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 12.9</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:52.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt 0pt 0pt 18pt;">Operating profit margin before general corporate expense</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 16.6</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 14.9</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:52.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"><b style="font-weight:bold;">Operating profit margin</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 15.8</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 14.0</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;line-height:1.19;margin:0pt;">Installation</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><i style="font-style:italic;">Sales</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-style:italic;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;background:#ffffff;margin:0pt;"><span style="color:#212529;">Sales in our Installation segment increased $90.4 million, or 13.4%, for the three months ended March 31, 2023, as compared to the same period in 2022. &#160;Sales increased 5.8% from higher selling prices, 5.4% from higher sales volume, and 2.2% from acquisitions.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;background:#ffffff;margin:0pt;"><span style="color:#212529;font-style:italic;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;background:#ffffff;margin:0pt;"><i style="color:#212529;font-style:italic;">Operating margins</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;background:#ffffff;margin:0pt;"><span style="color:#212529;font-family:'TimesNewRomanPSMT';visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="color:#212529;font-family:'TimesNewRomanPSMT';">Operating margins in our Installation segment were 19.1%</span><span style="color:#212529;"> and 16.7% for the three months ended March 31, 2023 and 2022, respectively. &#160;The increase in operating margin was driven by higher selling prices, higher sales volume</span><span style="background:#ffffff;"> and productivity initiatives partially offset by higher material costs.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;line-height:1.19;text-align:justify;margin:0pt;">Specialty Distribution</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><i style="font-style:italic;">Sales</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="font-style:italic;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;background:#ffffff;margin:0pt;"><span style="color:#212529;">Sales in our Specialty Distribution segment increased $14.5 million, or 2.7%, for the three months ended March 31, 2023, as compared to the same period in 2022.&#160;Sales increased 5.7% from higher selling prices which was partially offset by a 3.0% decline in sales volume.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;background:#ffffff;margin:0pt;"><span style="color:#212529;font-style:italic;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;background:#ffffff;margin:0pt;"><i style="color:#212529;font-style:italic;">Operating margins</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;background:#ffffff;margin:0pt;"><span style="color:#212529;visibility:hidden;">&#8203;</span></p><a id="_Hlk100932899"></a><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="color:#212529;">Operating margins in our Specialty Distribution segment were 13.1% and 12.9% for the three months ended March 31, 2023 and 2022, respectively. &#160;The increase in operating margin was driven by higher selling prices and productivity initiatives, offset by a decrease in sales volume </span><span style="color:#212529;">and a</span><span style="color:#212529;">n increase in the cost of material.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></div><div style="clear:both;display:table;margin-bottom:30pt;min-height:0.35pt;width:100%;"><div style="display:table-cell;vertical-align:bottom;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:12pt 0pt 0pt 0pt;">22</p></div></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:79.3%;border:0;margin:30pt 10.35% 30pt 10.35%;"></div><div style="max-width:100%;padding-left:10.35%;padding-right:10.35%;position:relative;"><div style="margin-top:21.6pt;min-height:41.75pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt 0pt 30pt 0pt;"><a href="#Toc"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;line-height:1.19;text-align:justify;margin:0pt;">OTHER ITEMS</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="font-style:italic;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><i style="font-style:italic;">Other expense, net</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><a id="_Hlk69212080"></a><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;">Other expense, net, was $16.1 million and $11.3 million for the three months ended March 31, 2023 and 2022, respectively. The change primarily related to interest expense, which increased by $6.1 million for the three months ended March 31, 2023, as compared to the same period in 2022, due to higher interest rates on borrowings under the Credit Agreement. This increase in interest expense was partially offset by $2.4 million higher interest income over the same period.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="font-style:italic;visibility:hidden;">&#8203;</span></p><a id="_Hlk101357888"></a><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><i style="font-style:italic;">Income tax expense</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="font-style:italic;visibility:hidden;">&#8203;</span></p><p style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="font-family:'Times New Roman','Times','serif';">Income tax expense was $47.4 million, an effective tax rate of 25.9 percent, for the three months ended March 31, 2023, compared to $38.0 million, an effective tax rate of 24.9 percent, for the comparable period in 2022.&#160; </span><span style="font-family:'Times New Roman','Times','serif';">The tax rate for the three months ended March 31, 2023, was higher primarily related to a decrease in the benefit related to share-based compensation.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><b style="font-weight:bold;">Cash Flows and Liquidity</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;">Significant sources (uses) of cash and cash equivalents are summarized for the periods indicated, in thousands:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100.57%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:71.99%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.66%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.56%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.76%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.56%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.75%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:71.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="color:#0000ff;font-size:9pt;font-weight:bold;text-decoration-line:underline;text-decoration-style:solid;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:26.33%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Three Months Ended March&#160;31,&#160; </b></p></td></tr><tr><td style="vertical-align:bottom;width:71.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';">&#160;&#160;&#160;&#160;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.33%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';">&#160;&#160;&#160;&#160;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.32%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:71.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">Changes in cash and cash equivalents:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.66%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.56%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.76%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.56%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.75%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:71.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;">Net cash provided by operating activities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 169,801</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 89,483</span></p></td></tr><tr><td style="vertical-align:bottom;width:71.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;">Net cash used in investing activities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.66%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.56%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.76%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt;"><span style="white-space:pre-wrap;"> (60,970)</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.56%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.75%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt;"><span style="white-space:pre-wrap;"> (32,127)</span></p></td></tr><tr><td style="vertical-align:bottom;width:71.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;">Net cash used in financing activities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt;"><span style="white-space:pre-wrap;"> (15,064)</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt;"><span style="white-space:pre-wrap;"> (70,507)</span></p></td></tr><tr><td style="vertical-align:bottom;width:71.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;">Impact of exchange rate changes on cash</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.66%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.56%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.76%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt;"><span style="white-space:pre-wrap;"> (58)</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.56%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.75%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt;"><span style="white-space:pre-wrap;"> (75)</span></p></td></tr><tr><td style="vertical-align:bottom;width:71.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">Net increase (decrease) in cash and cash equivalents</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.56%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.76%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 93,709</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.56%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.75%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt;"><span style="white-space:pre-wrap;"> (13,226)</span></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.28;text-align:justify;margin:0pt;"><span style="font-size:4pt;line-height:1.19;visibility:hidden;background:#ffff00;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;padding-bottom:14pt;text-align:justify;background:#ffffff;margin:6pt 0pt 0pt 0pt;">Net cash flows provided by operating activities increased $80.3 million for the three months ended March 31, 2023, as compared to the prior year period. &#160;Net income was up $21.2 million, or 18.4%, compared with the prior year period, driven by the impact of higher sales prices, sales from acquisitions, and increased sale volumes. &#160;Cash flows provided by operating activities was also favorably impacted by lower levels of inventory and prepaid expenses, which were partially offset by the impact of lower levels of payables.</p><a id="_Hlk69469870"></a><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;padding-bottom:14pt;text-align:justify;background:#ffffff;margin:0pt;">Net cash used in investing activities was $61.0 million for the three months ended March 31, 2023, primarily composed of $45.9 million for the acquisition of SRI and $15.6 million for purchases of property and equipment, mainly vehicles and machinery &amp; equipment.&#160;Net cash used in investing activities was $32.1 million for the three months ended March 31, 2022, primarily composed of $18.4 million for purchases of property and equipment, primarily vehicles, and $14.0 million for acquisitions.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;padding-bottom:14pt;text-align:justify;background:#ffffff;margin:0pt;">Net cash used in financing activities was $15.1 million for the three months ended March 31, 2023.&#160; During the three months ended March 31, 2023, we used $9.7 million for debt repayments, and $5.3 million net activity related to exercise of share-based incentive awards and stock options. &#160;Net cash used in financing activities was $70.5 million for the three months ended March 31, 2022.&#160; During the three months ended March 31, 2022, we used $50.0 million for the repurchase of common stock, $10.9 million net activity related to exercise of share-based incentive awards and stock options and $9.6 million for debt service requirements.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;background:#ffffff;margin:0pt;">We have access to liquidity through our cash from operations and available borrowing capacity under our Credit Agreement, which provides for borrowing and/or standby letter of credit issuances of up to $500 million under the revolving facility. &#160;Additional information regarding our outstanding debt and borrowing capacity is incorporated by reference from <i style="font-style:italic;">Note 5 &#8211; Long-term Debt</i> to our unaudited condensed consolidated financial statements contained in Part 1, Item 1 of this Quarterly Report.<i style="font-style:italic;"> &#160;</i></p></div><div style="clear:both;display:table;margin-bottom:30pt;min-height:0.35pt;width:100%;"><div style="display:table-cell;vertical-align:bottom;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:12pt 0pt 0pt 0pt;">23</p></div></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:79.3%;border:0;margin:30pt 10.35% 30pt 10.35%;"></div><div style="max-width:100%;padding-left:10.35%;padding-right:10.35%;position:relative;"><div style="margin-top:21.6pt;min-height:41.75pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt 0pt 30pt 0pt;"><a href="#Toc"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></div><div style="clear:both;max-width:100%;position:relative;min-height:9.2pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:14pt 0pt 0pt 0pt;">The following table summarizes our liquidity, in thousands:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:67.61%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.43%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.82%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.43%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.33%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:67.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:30.7%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">As of</b></p></td></tr><tr><td style="vertical-align:bottom;width:67.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">March&#160;31,&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">December&#160;31,&#160;</b></p></td></tr><tr><td style="vertical-align:bottom;width:67.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';">&#160;&#160;&#160;&#160;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';">&#160;&#160;&#160;&#160;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.76%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:67.61%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">Cash and cash equivalents (a)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.43%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 333,778</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.43%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 240,069</span></p></td></tr><tr><td style="vertical-align:bottom;width:67.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:67.61%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">Revolving facility</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.43%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 500,000</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.43%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 500,000</span></p></td></tr><tr><td style="vertical-align:bottom;width:67.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;">Less: standby letters of credit</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.43%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.82%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt;"><span style="white-space:pre-wrap;"> (67,689)</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.43%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.33%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt;"><span style="white-space:pre-wrap;"> (67,689)</span></p></td></tr><tr><td style="vertical-align:bottom;width:67.61%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">Availability under revolving facility</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.43%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 432,311</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.43%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 432,311</span></p></td></tr><tr><td style="vertical-align:bottom;width:67.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.43%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.82%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.43%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.33%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:67.61%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">Total liquidity</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.43%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.82%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 766,089</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.43%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.33%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 672,380</span></p></td></tr></table><div style="font-family:'Times New Roman','Times','serif';font-size:8.0pt;margin-bottom:0pt;min-height:1.19em;position:relative;width:100%;"><div style="background-color:#000000;height:1pt;position:relative;top:0.6em;width:25.0%;border:none;margin:0 auto 0 0;"></div></div><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:justify;margin:0pt;">(a) Our cash and cash equivalents consist of AAA-rated money market funds as well as cash held in our demand deposit accounts.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="background:#ffffff;">We believe that our cash flows from operations, combined with our current cash levels and available borrowing capacity, will be adequate to support our ongoing operations and known contractual obligations including funding our debt service requirements, capital expenditures, lease obligations and working capital needs for at least the next twelve months</span><span style="color:#212529;background:#ffffff;">.</span><span style="background:#ffffff;"> We also have adequate liquidity to maintain off-balance sheet arrangements for short-term leases, letters of credit, and performance and license bonds.&#160;</span>Information regarding our outstanding bonds as of March 31, 2023, is incorporated by reference from <i style="font-style:italic;">Note 13 &#8211; Other Commitments and Contingencies</i> to our unaudited condensed consolidated financial statements contained in Part I, Item&#160;1 of this Quarterly Report.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;padding-bottom:12pt;text-align:justify;margin:0pt;"><b style="font-weight:bold;">OUTLOOK</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;background:#ffffff;margin:0pt;">There continues to be uncertainty around the economy due to turmoil in the banking industry, higher interest rates and&#160;inflation, which have negatively impacted single family housing starts.&#160; Our sales are benefiting from the significant backlog of single family houses under construction and continued strong multifamily starts.&#160; We expect the current slowdown in single family starts to impact our single family volume in the second half of this year and for multifamily construction levels to remain solid. &#160;We remain optimistic about the long-term fundamentals of the U.S. housing market, supported by a limited supply of both new and existing homes and favorable demographic trends, including increasing household formations. &#160;</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;background:#ffffff;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;">We also continue to have a strong backlog and bidding activity to support our commercial/industrial sales.&#160; In addition, maintenance and repair on industrial sites will also serve as a continued driver for our business.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><a id="_fa464d00_7709_45ba_88ee_406272c303bc"></a><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><b style="font-weight:bold;">OFF-BALANCE SHEET ARRANGEMENTS</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;">We had no material off-balance sheet arrangements during the three months ended March 31, 2023, other than short-term leases, letters of credit, and performance and license bonds, which have been disclosed in Part 1, Item 1 of this Quarterly report.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><a id="_2683a903_dae9_4d33_882f_b115ea5beab2"></a><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><b style="font-weight:bold;">CONTRACTUAL OBLIGATIONS</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;">There have been no material changes to our contractual obligations from those previously disclosed in our Annual Report for the year ended December&#160;31,&#160;2022, as filed with the SEC on February&#160;23,&#160;2023.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><a id="_cee02e21_598c_4fb3_8153_d6113bd0f276"></a><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><b style="font-weight:bold;">CRITICAL ACCOUNTING POLICIES</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;">We prepare our condensed consolidated financial statements in conformity with GAAP. &#160;The preparation of these financial statements requires us to make estimates and assumptions that affect the reported amounts of assets and liabilities, and disclosure of contingent assets and liabilities, at the date of the financial statements, and the reported amounts of sales and expenses during the reporting period. &#160;Actual results could differ from those estimates. &#160;Our critical accounting policies have not changed from those previously reported in our Annual Report for the year ended December&#160;31,&#160;2022, as filed with the SEC on February 23, 2023.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></div><div style="clear:both;display:table;margin-bottom:30pt;min-height:0.35pt;width:100%;"><div style="display:table-cell;vertical-align:bottom;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:12pt 0pt 0pt 0pt;">24</p></div></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:79.3%;border:0;margin:30pt 10.35% 30pt 10.35%;"></div><div style="max-width:100%;padding-left:10.35%;padding-right:10.35%;position:relative;"><div style="margin-top:21.6pt;min-height:41.75pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt 0pt 30pt 0pt;"><a href="#Toc"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></div><div style="clear:both;max-width:100%;position:relative;"><a id="_531f5bd6_1245_48bf_8647_febf01ee16eb"></a><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><b style="font-weight:bold;">APPLICATION OF NEW ACCOUNTING STANDARDS</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;">Information regarding application of new accounting standards is incorporated by reference from <i style="font-style:italic;">Note 2 &#8211; Accounting Policies</i> to our unaudited condensed consolidated financial statements contained in Part I, Item&#160;1 of this Quarterly Report.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p><a id="_679790b9_9218_4870_923a_de09a59850ec"></a><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><b style="font-weight:bold;">FORWARD-LOOKING STATEMENTS</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;">Statements contained in this report that reflect our views about future periods, including our future plans and performance, constitute &#8220;forward-looking statements&#8221; under the Private Securities Litigation Reform Act of 1995. &#160;Forward-looking statements can be identified by words such as &#8220;will,&#8221; &#8220;would,&#8221; &#8220;should,&#8221; &#8220;anticipate,&#8221; &#8220;expect,&#8221; &#8220;believe,&#8221; &#8220;designed,&#8221; &#8220;plan,&#8221; &#8220;may,&#8221; &#8220;project,&#8221; &#8220;estimate&#8221; &#160;or &#8220;intend,&#8221; the negative of these terms, and similar references to future periods. &#160;These views involve risks and uncertainties that are difficult to predict and, accordingly, our actual results may differ materially from the results discussed in our forward-looking statements. &#160;We caution you against unduly relying on any of these forward-looking statements. &#160;Our future performance may be affected by the duration and impact of negative macro-economic impacts on the United States economy, specifically with respect to residential, commercial/industrial construction, our ability to collect our receivables from our customers, our reliance on residential new construction, residential repair/remodel, and commercial/industrial construction; our reliance on third-party suppliers and manufacturers; our ability to attract, develop, and retain talented personnel and our sales and labor force; our ability to maintain consistent practices across our locations; our ability to maintain our competitive position; and our ability to realize the expected benefits of our acquisitions. &#160; &#160;We discuss the material risks we face under the caption entitled &#8220;Risk Factors&#8221; in our Annual Report for the year ended December&#160;31,&#160;2022, as filed with the SEC on February 23, 2023, as well as under the caption entitled &#8220;Risk Factors&#8221; in subsequent reports that we file with the SEC. &#160;Our forward-looking statements in this filing speak only as of the date of this filing. &#160;Factors or events that could cause our actual results to differ may emerge from time to time and it is not possible for us to predict all of them. &#160;Unless required by law, we undertake no obligation to update publicly any forward-looking statements as a result of new information, future events, or otherwise.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p><a id="_b102c67f_45fb_43ec_9c51_299c98562282"></a><a id="Disclosures_About_Mkt_Risk"></a><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><b style="font-weight:bold;">Item 3. &#160;QUANTITATIVE AND QUALITATIVE DISCLOSURES ABOUT MARKET RISK</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><i style="font-style:italic;">Interest Rate Risk</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="font-size:8pt;font-style:italic;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;">We have a Term Loan outstanding with a principal balance of $558.8 million and a revolving facility with an aggregate borrowing capacity of $500.0 million. We also have outstanding 3.625% Senior Notes with an aggregate principal balance of $400.0 million and 4.125% Senior Notes with an aggregate principal balance of $500.0 million. &#160;The 3.625% Senior Notes and 4.125% Senior Notes bear a fixed rate of interest and therefore are excluded from the calculation below as they are not subject to fluctuations in interest rates.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;">Interest payable on both the aggregate Term Loan and revolving facility is based on a variable interest rate. &#160;As a result, we are exposed to market risks related to fluctuations in interest rates on this outstanding indebtedness. &#160;As of March 31, 2023, the applicable interest rate as of such date was 5.91%. &#160;Based on our outstanding borrowings as of March 31, 2023, a 100 basis point increase in the interest rate would result in a $5.5 million increase in our annualized interest expense. &#160;There was no outstanding balance under the revolving facility as of March 31, 2023.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p><a id="_bfbd12e5_ccb2_417b_9334_01f4f2d3d432"></a><a id="Item4_ControlsandProc"></a><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><b style="font-weight:bold;">Item 4. &#160;CONTROLS AND PROCEDURES</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><i style="font-style:italic;">Evaluation of Disclosure Controls and Procedures</i> </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;">&#160; </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;">As of the end of the period covered by this Quarterly Report, we carried out an evaluation, under the supervision and with the participation of our principal executive officer and principal financial officer, of the effectiveness of the design and operation of our disclosure controls and procedures (as such term is defined in Rules 13a-15(e) and 15d-15(e) under the Exchange Act).&#160;&#160;Based on this evaluation, our principal executive officer and principal financial officer concluded that our disclosure controls and procedures were effective as of March 31, 2023. </p><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="font-size:10pt;margin-bottom:5pt;margin-top:5pt;visibility:hidden;">&#8203;</span></p></div><div style="clear:both;display:table;margin-bottom:30pt;min-height:0.35pt;width:100%;"><div style="display:table-cell;vertical-align:bottom;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:12pt 0pt 0pt 0pt;">25</p></div></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:79.3%;border:0;margin:30pt 10.35% 30pt 10.35%;"></div><div style="max-width:100%;padding-left:10.35%;padding-right:10.35%;position:relative;"><div style="margin-top:21.6pt;min-height:41.75pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt 0pt 30pt 0pt;"><a href="#Toc"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></div><div style="clear:both;max-width:100%;position:relative;"><a id="_Hlk518892509"></a><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;">C<i style="font-style:italic;">hanges in Internal Control over Financial Reporting </i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;">&#160; </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;">There was no change in the Company&#8217;s internal control over financial reporting (as such term is defined in Rules 13a-15(f) and 15d-15(f) under the Exchange Act) in the most recent fiscal quarter ended March 31, 2023, that has materially affected, or is reasonably likely to materially affect, the Company&#8217;s internal control over financial reporting. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><a id="_f322db3d_2d8b_4410_aa66_3e367ef34331"></a><a id="_PART_II_"></a><a id="_Item_1._"></a><a id="PartII_Other_Information"></a><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.28;margin:0pt 0pt 8pt 0pt;"><b style="font-weight:bold;">PART II &#8211; OTHER INFORMATION</b></p><a id="_Item_1.__1"></a><a id="Legal_Proceedings"></a><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;line-height:1.19;text-align:justify;margin:0pt;">Item 1. &#160;LEGAL PROCEEDINGS</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;">The information set forth under the caption &#8220;Litigation&#8221; in <i style="font-style:italic;">Note 13 &#8211; Other Commitments and Contingencies</i> to our unaudited condensed consolidated financial statements contained in Part I, Item&#160;1 of this Quarterly Report, is incorporated by reference herein.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p><a id="Risk_Factors"></a><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;line-height:1.19;text-align:justify;margin:0pt;">Item 1A. &#160;RISK FACTORS</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;">There have been no material changes to our risk factors as previously disclosed in our Annual Report for the year ended December 31, 2022, as filed with the SEC on February 23, 2023 which are incorporated by reference herein.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p><a id="Unregistered_Sale"></a><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;line-height:1.19;text-align:justify;margin:0pt;">Item 2. &#160;UNREGISTERED SALES OF EQUITY SECURITIES AND USE OF PROCEEDS</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="background:#ffffff;">On July 25, 2022, our Board authorized the 2022 Repurchase Program, pursuant to which the Company may purchase up to $200&#160;million of our common stock. &#160;There were no share repurchases executed during the three months ending March 31, 2023, leaving $154.4 million remaining under the 2022 Share Repurchase Program. </span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><a id="Defaults"></a><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;line-height:1.19;text-align:justify;margin:0pt;">Item 3. &#160;DEFAULTS UPON SENIOR SECURITIES</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;">Not applicable.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><a id="Mine_Safety"></a><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;line-height:1.19;text-align:justify;margin:0pt;">Item 4. &#160;MINE SAFETY DISCLOSURES</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;">Not applicable.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.28;margin:0pt;"><span style="font-weight:bold;line-height:1.19;visibility:hidden;">&#8203;</span></p><a id="_Item_5._"></a><a id="Other_info"></a><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;line-height:1.19;text-align:justify;margin:0pt;">Item 5. &#160;OTHER INFORMATION</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;">On May 1, 2023, Carrie Wood, our Chief Accounting Officer, notified us of her decision to resign from the Company, effective May 25, 2023. &#160;Rob Kuhns, our Chief Financial Officer, will serve as our Principal Accounting Officer from May 25, 2023 until such time that we appoint a successor Principal Accounting Officer. &#160;This disclosure is provided in this Part II, Item 5 in lieu of disclosure under Item 5.02(b) of Form 8-K.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p><a id="_Item_6._"></a><a id="Item6_Exhibits"></a><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;line-height:1.19;margin:0pt;"><b style="font-weight:bold;white-space:pre-wrap;">Item 6.  EXHIBITS</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">The Exhibits listed on the accompanying Index to Exhibits are filed or furnished (as noted on such Index) as part of this Quarterly Report and incorporated herein by reference.</p></div><div style="clear:both;display:table;margin-bottom:30pt;min-height:0.35pt;width:100%;"><div style="display:table-cell;vertical-align:bottom;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:12pt 0pt 0pt 0pt;">26</p></div></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:79.3%;border:0;margin:30pt 10.35% 30pt 10.35%;"></div><div style="max-width:100%;padding-left:10.35%;padding-right:10.35%;position:relative;"><div style="margin-top:21.6pt;min-height:41.75pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt 0pt 30pt 0pt;"><a href="#Toc"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></div><div style="clear:both;max-width:100%;position:relative;"><a id="_8cc25e8c_da19_419f_8fe8_a68aac6340e2"></a><a id="IndexNew"></a><a id="Exhibit_Index"></a><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><b style="font-weight:bold;">INDEX TO EXHIBITS</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;font-weight:bold;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;white-space:nowrap;width:10.42%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;margin-bottom:0pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;margin-bottom:0pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:44.33%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;margin-bottom:0pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;margin-bottom:0pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.51%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;margin-bottom:0pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;margin-bottom:0pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.51%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;margin-bottom:0pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;margin-bottom:0pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.78%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;margin-bottom:0pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;margin-bottom:0pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;width:9.51%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;margin-bottom:0pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:10.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;"><span style="margin-bottom:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:44.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;"><span style="margin-bottom:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;"><span style="margin-bottom:0pt;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:31.58%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Incorporated by Reference</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-weight:bold;margin-bottom:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:9.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Filed</b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:10.42%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Exhibit&#160;No.</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:44.33%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Exhibit&#160;Title</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.51%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Form</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.51%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Exhibit</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.78%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Filing Date</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;width:9.51%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Herewith</b></p></td></tr><tr><td style="vertical-align:top;white-space:nowrap;width:10.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;">31.1</p></td><td style="vertical-align:top;white-space:nowrap;width:1.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;"><span style="margin-bottom:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:44.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;"><a style="-sec-extract:exhibit;font-family:&quot;'Times New Roman','Times','serif'&quot;;" href="bld-20230331xex31d1.htm"><span style="font-family:'Times New Roman','Times','serif';font-style:normal;font-weight:normal;">Principal Executive Officer Certification required by Rules 13a-14 and 15d-14 as adopted pursuant to Section 302 of the Sarbanes-Oxley Act of 2002</span></a></p></td><td style="vertical-align:top;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;"><span style="margin-bottom:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:9.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><span style="margin-bottom:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><span style="margin-bottom:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:9.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><span style="margin-bottom:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><span style="margin-bottom:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:9.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><span style="margin-bottom:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><span style="margin-bottom:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:9.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;">X</p></td></tr><tr><td style="vertical-align:top;white-space:nowrap;width:10.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;"><span style="margin-bottom:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:1.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;"><span style="margin-bottom:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:44.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;"><span style="margin-bottom:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;"><span style="margin-bottom:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:9.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><span style="margin-bottom:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><span style="margin-bottom:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:9.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><span style="margin-bottom:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><span style="margin-bottom:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:9.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><span style="margin-bottom:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><span style="margin-bottom:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:9.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><span style="margin-bottom:0pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;white-space:nowrap;width:10.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;">31.2</p></td><td style="vertical-align:top;white-space:nowrap;width:1.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;"><span style="margin-bottom:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:44.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;"><a style="-sec-extract:exhibit;font-family:&quot;'Times New Roman','Times','serif'&quot;;" href="bld-20230331xex31d2.htm"><span style="font-family:'Times New Roman','Times','serif';font-style:normal;font-weight:normal;">Principal Financial Officer Certification required by Rules 13a-14 and 15d-14 as adopted pursuant to Section 302 of the Sarbanes-Oxley Act of 2002</span></a></p></td><td style="vertical-align:top;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;"><span style="margin-bottom:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:9.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><span style="margin-bottom:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><span style="margin-bottom:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:9.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><span style="margin-bottom:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><span style="margin-bottom:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:9.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><span style="margin-bottom:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><span style="margin-bottom:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:9.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;">X</p></td></tr><tr><td style="vertical-align:top;white-space:nowrap;width:10.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;"><span style="margin-bottom:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:1.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;"><span style="margin-bottom:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:44.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;"><span style="margin-bottom:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;"><span style="margin-bottom:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:9.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><span style="margin-bottom:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><span style="margin-bottom:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:9.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><span style="margin-bottom:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><span style="margin-bottom:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:9.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><span style="margin-bottom:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><span style="margin-bottom:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:9.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><span style="margin-bottom:0pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;white-space:nowrap;width:10.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;">32.1&#8225;</p></td><td style="vertical-align:top;white-space:nowrap;width:1.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;"><span style="margin-bottom:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:44.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;"><a style="-sec-extract:exhibit;font-family:&quot;'Times New Roman','Times','serif'&quot;;" href="bld-20230331xex32d1.htm"><span style="font-family:'Times New Roman','Times','serif';font-style:normal;font-weight:normal;">Certification of Principal Executive Officer pursuant to 18 U.S.C. Section 1350, as adopted pursuant to Section 906 of Sarbanes-Oxley Act of 2002</span></a></p></td><td style="vertical-align:top;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;"><span style="margin-bottom:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:9.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><span style="margin-bottom:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><span style="margin-bottom:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:9.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><span style="margin-bottom:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><span style="margin-bottom:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:9.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><span style="margin-bottom:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><span style="margin-bottom:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:9.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><span style="margin-bottom:0pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;white-space:nowrap;width:10.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;"><span style="margin-bottom:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:1.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;"><span style="margin-bottom:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:44.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;"><span style="margin-bottom:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;"><span style="margin-bottom:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:9.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><span style="margin-bottom:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><span style="margin-bottom:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:9.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><span style="margin-bottom:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><span style="margin-bottom:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:9.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><span style="margin-bottom:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><span style="margin-bottom:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:9.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><span style="margin-bottom:0pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;white-space:nowrap;width:10.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;">32.2&#8225;</p></td><td style="vertical-align:top;white-space:nowrap;width:1.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;"><span style="margin-bottom:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:44.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;"><a style="-sec-extract:exhibit;font-family:&quot;'Times New Roman','Times','serif'&quot;;" href="bld-20230331xex32d2.htm"><span style="font-family:'Times New Roman','Times','serif';font-style:normal;font-weight:normal;">Certification of Principal Financial Officer pursuant to 18 U.S.C. Section 1350, as adopted pursuant to Section 906 of Sarbanes-Oxley Act of 2002</span></a></p></td><td style="vertical-align:top;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;"><span style="margin-bottom:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:9.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><span style="margin-bottom:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><span style="margin-bottom:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:9.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><span style="margin-bottom:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><span style="margin-bottom:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:9.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><span style="margin-bottom:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><span style="margin-bottom:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:9.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><span style="margin-bottom:0pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;white-space:nowrap;width:10.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;"><span style="margin-bottom:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:1.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;"><span style="margin-bottom:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:44.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;"><span style="margin-bottom:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;"><span style="margin-bottom:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:9.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><span style="margin-bottom:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><span style="margin-bottom:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:9.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><span style="margin-bottom:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><span style="margin-bottom:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:9.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><span style="margin-bottom:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><span style="margin-bottom:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:9.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><span style="margin-bottom:0pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;white-space:nowrap;width:10.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;">101.INS</p></td><td style="vertical-align:top;white-space:nowrap;width:1.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;"><span style="margin-bottom:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:44.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;">Inline XBRL Instance Document - the Instance Document does not appear in the Interactive Data File because its XBRL tags are embedded within the Inline XBRL document</p></td><td style="vertical-align:top;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;"><span style="margin-bottom:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:9.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><span style="margin-bottom:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><span style="margin-bottom:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:9.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><span style="margin-bottom:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><span style="margin-bottom:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:9.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><span style="margin-bottom:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><span style="margin-bottom:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:9.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;">X</p></td></tr><tr><td style="vertical-align:top;white-space:nowrap;width:10.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;"><span style="margin-bottom:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:1.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;"><span style="margin-bottom:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:44.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;"><span style="margin-bottom:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;"><span style="margin-bottom:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:9.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><span style="margin-bottom:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><span style="margin-bottom:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:9.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><span style="margin-bottom:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><span style="margin-bottom:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:9.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><span style="margin-bottom:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><span style="margin-bottom:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:9.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><span style="margin-bottom:0pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;white-space:nowrap;width:10.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;">101.SCH</p></td><td style="vertical-align:top;white-space:nowrap;width:1.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;"><span style="margin-bottom:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:44.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;">Inline XBRL Taxonomy Extension Schema Document</p></td><td style="vertical-align:top;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;"><span style="margin-bottom:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:9.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><span style="margin-bottom:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><span style="margin-bottom:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:9.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><span style="margin-bottom:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><span style="margin-bottom:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:9.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><span style="margin-bottom:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><span style="margin-bottom:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:9.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;">X</p></td></tr><tr><td style="vertical-align:top;white-space:nowrap;width:10.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;"><span style="margin-bottom:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:1.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;"><span style="margin-bottom:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:44.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;"><span style="margin-bottom:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;"><span style="margin-bottom:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:9.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><span style="margin-bottom:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><span style="margin-bottom:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:9.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><span style="margin-bottom:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><span style="margin-bottom:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:9.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><span style="margin-bottom:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><span style="margin-bottom:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:9.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><span style="margin-bottom:0pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;white-space:nowrap;width:10.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;">101.CAL</p></td><td style="vertical-align:top;white-space:nowrap;width:1.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;"><span style="margin-bottom:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:44.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;">Inline XBRL Taxonomy Extension Calculation Linkbase Document</p></td><td style="vertical-align:top;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;"><span style="margin-bottom:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:9.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><span style="margin-bottom:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><span style="margin-bottom:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:9.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><span style="margin-bottom:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><span style="margin-bottom:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:9.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><span style="margin-bottom:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><span style="margin-bottom:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:9.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;">X</p></td></tr><tr><td style="vertical-align:top;white-space:nowrap;width:10.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;"><span style="margin-bottom:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:1.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;"><span style="margin-bottom:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:44.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;"><span style="margin-bottom:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;"><span style="margin-bottom:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:9.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><span style="margin-bottom:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><span style="margin-bottom:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:9.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><span style="margin-bottom:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><span style="margin-bottom:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:9.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><span style="margin-bottom:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><span style="margin-bottom:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:9.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><span style="margin-bottom:0pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;white-space:nowrap;width:10.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;">101.DEF</p></td><td style="vertical-align:top;white-space:nowrap;width:1.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;"><span style="margin-bottom:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:44.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;">Inline XBRL Taxonomy Extension Definition Linkbase Document</p></td><td style="vertical-align:top;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;"><span style="margin-bottom:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:9.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><span style="margin-bottom:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><span style="margin-bottom:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:9.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><span style="margin-bottom:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><span style="margin-bottom:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:9.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><span style="margin-bottom:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><span style="margin-bottom:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:9.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;">X</p></td></tr><tr><td style="vertical-align:top;white-space:nowrap;width:10.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;"><span style="margin-bottom:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:1.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;"><span style="margin-bottom:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:44.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;"><span style="margin-bottom:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;"><span style="margin-bottom:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:9.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><span style="margin-bottom:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><span style="margin-bottom:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:9.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><span style="margin-bottom:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><span style="margin-bottom:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:9.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><span style="margin-bottom:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><span style="margin-bottom:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:9.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><span style="margin-bottom:0pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;white-space:nowrap;width:10.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;">101.LAB</p></td><td style="vertical-align:top;white-space:nowrap;width:1.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;"><span style="margin-bottom:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:44.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;">Inline XBRL Taxonomy Extension Label Linkbase Document</p></td><td style="vertical-align:top;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;"><span style="margin-bottom:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:9.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><span style="margin-bottom:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><span style="margin-bottom:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:9.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><span style="margin-bottom:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><span style="margin-bottom:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:9.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><span style="margin-bottom:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><span style="margin-bottom:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:9.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;">X</p></td></tr><tr><td style="vertical-align:top;white-space:nowrap;width:10.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;"><span style="margin-bottom:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:1.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;"><span style="margin-bottom:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:44.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;"><span style="margin-bottom:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;"><span style="margin-bottom:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:9.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><span style="margin-bottom:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><span style="margin-bottom:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:9.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><span style="margin-bottom:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><span style="margin-bottom:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:9.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><span style="margin-bottom:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><span style="margin-bottom:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:9.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><span style="margin-bottom:0pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;white-space:nowrap;width:10.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;">101.PRE</p></td><td style="vertical-align:top;white-space:nowrap;width:1.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;"><span style="margin-bottom:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:44.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;">Inline XBRL Taxonomy Extension Presentation Linkbase Document</p></td><td style="vertical-align:top;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;"><span style="margin-bottom:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:9.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><span style="margin-bottom:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><span style="margin-bottom:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:9.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><span style="margin-bottom:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><span style="margin-bottom:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:9.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><span style="margin-bottom:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><span style="margin-bottom:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:9.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;">X</p></td></tr><tr><td style="vertical-align:top;white-space:nowrap;width:10.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;"><span style="margin-bottom:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:1.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;"><span style="margin-bottom:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:44.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;"><span style="margin-bottom:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;"><span style="margin-bottom:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:9.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><span style="margin-bottom:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><span style="margin-bottom:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:9.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><span style="margin-bottom:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><span style="margin-bottom:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:9.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><span style="margin-bottom:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><span style="margin-bottom:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:9.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><span style="margin-bottom:0pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;white-space:nowrap;width:10.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;">104</p></td><td style="vertical-align:top;white-space:nowrap;width:1.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;"><span style="margin-bottom:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:44.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;">Cover Page Interactive Data File (formatted as Inline XBRL and contained in Exhibit 101)</p></td><td style="vertical-align:top;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;"><span style="margin-bottom:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:9.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><span style="margin-bottom:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><span style="margin-bottom:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:9.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><span style="margin-bottom:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><span style="margin-bottom:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:9.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><span style="margin-bottom:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><span style="margin-bottom:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:9.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;">X</p></td></tr><tr><td style="vertical-align:top;white-space:nowrap;width:10.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;"><span style="margin-bottom:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:1.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;"><span style="margin-bottom:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:44.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;"><span style="margin-bottom:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;"><span style="margin-bottom:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:9.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><span style="margin-bottom:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><span style="margin-bottom:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:9.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><span style="margin-bottom:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><span style="margin-bottom:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:9.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><span style="margin-bottom:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><span style="margin-bottom:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:9.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><span style="margin-bottom:0pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:10.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;margin-bottom:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;margin-bottom:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:44.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;">&#8225;Furnished herewith</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;margin-bottom:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;margin-bottom:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;margin-bottom:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;margin-bottom:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;margin-bottom:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;margin-bottom:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;margin-bottom:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;margin-bottom:0pt;visibility:hidden;">&#8203;</span></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;font-weight:bold;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div><div style="clear:both;display:table;margin-bottom:30pt;min-height:0.35pt;width:100%;"><div style="display:table-cell;vertical-align:bottom;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:12pt 0pt 0pt 0pt;">27</p></div></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:79.3%;border:0;margin:30pt 10.35% 30pt 10.35%;"></div><div style="max-width:100%;padding-left:10.35%;padding-right:10.35%;position:relative;"><div style="margin-top:21.6pt;min-height:41.75pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt 0pt 30pt 0pt;"><a href="#Toc"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></div><div style="clear:both;max-width:100%;position:relative;"><a id="_782aa3d0_54b5_45ba_a96b_489150ac81fd"></a><a id="Signature_195545"></a><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><b style="font-weight:bold;">SIGNATURE</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><a id="Signature"></a><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;">Pursuant to the requirements of the Securities Exchange Act of 1934, the registrant has duly caused this report to be signed on its behalf by the undersigned thereunto duly authorized.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:top;width:50.57%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:0pt;width:100%;"></div></div></td><td style="vertical-align:top;width:5.9%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:0pt;width:100%;"></div></div></td><td style="vertical-align:top;width:43.51%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:0pt;width:100%;"></div></div></td></tr><tr><td style="vertical-align:top;width:50.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">&#160;</p></td><td colspan="2" style="vertical-align:top;width:49.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><b style="font-weight:bold;">TOPBUILD CORP. </b></p></td></tr><tr><td style="vertical-align:top;width:50.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">&#160;</p></td><td colspan="2" style="vertical-align:top;width:49.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">&#160;</p></td></tr><tr><td style="vertical-align:top;width:50.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">&#160;</p></td><td colspan="2" style="vertical-align:top;width:49.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">&#160;</p></td></tr><tr><td style="vertical-align:top;width:50.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">&#160;</p></td><td style="vertical-align:top;width:5.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">By:</p></td><td style="vertical-align:top;width:43.51%;border-bottom:1.0pt solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">/s/ Robert Kuhns</p></td></tr><tr><td style="vertical-align:top;width:50.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">&#160;</p></td><td style="vertical-align:top;width:5.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">Name:</p></td><td style="vertical-align:top;width:43.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;padding-left:10pt;text-indent:-10pt;margin:0pt;"><span style="white-space:pre-wrap;"> Robert Kuhns</span></p></td></tr><tr><td style="vertical-align:top;width:50.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">&#160;</p></td><td style="vertical-align:top;width:5.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">Title:</p></td><td style="vertical-align:top;width:43.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;padding-left:3.6pt;text-indent:-3.6pt;margin:0pt;"><span style="white-space:pre-wrap;"> Vice President and Chief Financial Officer</span></p></td></tr><tr><td style="vertical-align:top;width:50.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">&#160;</p></td><td style="vertical-align:top;width:5.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">&#160;</p></td><td style="vertical-align:top;width:43.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">(Principal Financial Officer)</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">May 4, 2023</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></div><div style="clear:both;display:table;margin-bottom:30pt;min-height:0.35pt;width:100%;"><div style="display:table-cell;vertical-align:bottom;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:12pt 0pt 0pt 0pt;">28</p></div></div></div>
<div style="background-color:#000000;clear:both;height:2pt;margin-left:10.35%;margin-right:10.35%;margin-top:30pt;page-break-after:avoid;width:79.3%;border:0;"></div></body></html>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-31.1
<SEQUENCE>2
<FILENAME>bld-20230331xex31d1.htm
<DESCRIPTION>EX-31.1
<TEXT>
<!--Enhanced HTML document created with Toppan Merrill Bridge  9.14.0.96--><!--Created on: 5/4/2023 05:11:53 PM (UTC)--><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta charset="UTF-8"><title></title></head><body><div style="margin-top:30pt;"></div><div style="max-width:100%;padding-left:10.29%;padding-right:10.29%;position:relative;"><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><b style="font-weight:bold;">Exhibit 31.1</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;text-align:right;margin:0pt;"><font style="font-size:10pt;margin-bottom:12pt;visibility:hidden;">&#8203;</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Certifications</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;text-align:center;margin:0pt;"><font style="font-size:10pt;margin-bottom:12pt;visibility:hidden;">&#8203;</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">I, Robert Buck, certify that: </p><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;text-align:justify;margin:0pt;"><font style="font-size:10pt;margin-bottom:12pt;visibility:hidden;">&#8203;</font></p><table border="0" cellpadding="0" cellspacing="0" style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:12pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">1.</td><td style="padding:0pt;"><font style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">I have reviewed this quarterly report on Form 10-Q of TopBuild Corp.;</font></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;text-align:justify;margin:0pt 0pt 0pt 36pt;"><font style="font-size:10pt;margin-bottom:12pt;margin-left:0pt;visibility:hidden;">&#8203;</font></p><table border="0" cellpadding="0" cellspacing="0" style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:12pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">2.</td><td style="padding:0pt;"><font style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">Based on my knowledge, this report does not contain any untrue statement of a material fact or omit to state a material fact necessary to make the statements made, in light of the circumstances under which such statements were made, not misleading with respect to the period covered by this report;</font></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;text-align:justify;margin:0pt 0pt 0pt 36pt;"><font style="font-size:10pt;margin-bottom:12pt;margin-left:0pt;visibility:hidden;">&#8203;</font></p><table border="0" cellpadding="0" cellspacing="0" style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:12pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">3.</td><td style="padding:0pt;"><font style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">Based on my knowledge, the financial statements, and other financial information included in this report, fairly present in all material respects the financial condition, results of operations and cash flows of the registrant as of, and for, the periods presented in this report;</font></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;text-align:justify;margin:0pt 0pt 0pt 36pt;"><font style="font-size:10pt;margin-bottom:12pt;margin-left:0pt;visibility:hidden;">&#8203;</font></p><table border="0" cellpadding="0" cellspacing="0" style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:12pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">4.</td><td style="padding:0pt;"><font style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">The registrant&#8217;s other certifying officer and I are responsible for establishing and maintaining disclosure controls and procedures (as defined in Exchange Act Rules 13a-15(e) and 15d-15(e)) and internal control over financial reporting (as defined in Exchange Act Rules 13a-15(f) and 15d-15(f)) for the registrant and have: </font></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;text-align:justify;text-indent:36pt;margin:0pt;"><font style="font-size:10pt;margin-bottom:12pt;visibility:hidden;">&#8203;</font></p><table border="0" cellpadding="0" cellspacing="0" style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:12pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">(a)</td><td style="padding:0pt;"><font style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">Designed such disclosure controls and procedures, or caused such disclosure controls and procedures to be designed under our supervision, to ensure that material information relating to the registrant, including its consolidated subsidiaries, is made known to us by others within those entities, particularly during the period in which this report is being prepared;</font></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;text-align:justify;margin:0pt 0pt 0pt 18pt;"><font style="font-size:10pt;margin-bottom:12pt;margin-left:0pt;visibility:hidden;">&#8203;</font></p><table border="0" cellpadding="0" cellspacing="0" style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:12pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">(b)</td><td style="padding:0pt;"><font style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">Designed such internal control over financial reporting, or caused such internal control over financial reporting to be designed under our supervision, to provide reasonable assurance regarding the reliability of financial reporting and the preparation financial statements for external purposes in accordance with generally accepted accounting principles;</font></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;text-align:justify;margin:0pt 0pt 0pt 36pt;"><font style="font-size:10pt;margin-bottom:12pt;margin-left:0pt;visibility:hidden;">&#8203;</font></p><table border="0" cellpadding="0" cellspacing="0" style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:12pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">(c)</td><td style="padding:0pt;"><font style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">Evaluated the effectiveness of the registrant&#8217;s disclosure controls and procedures and presented in this report our conclusions about the effectiveness of the disclosure controls and procedures, as of the end of the period covered by this report based on such evaluation; and</font></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;text-align:justify;margin:0pt 0pt 0pt 36pt;"><font style="font-size:10pt;margin-bottom:12pt;margin-left:0pt;visibility:hidden;">&#8203;</font></p><table border="0" cellpadding="0" cellspacing="0" style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:12pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">(d)</td><td style="padding:0pt;"><font style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">Disclosed in this report any change in the registrant&#8217;s internal control over financial reporting that occurred during the registrant&#8217;s most recent fiscal quarter (the registrant&#8217;s fourth fiscal quarter in the case of an annual report) that has materially affected, or is reasonably likely to materially affect, the registrant&#8217;s internal control over financial reporting; and </font></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;text-align:justify;text-indent:36pt;margin:0pt;"><font style="font-size:10pt;margin-bottom:12pt;visibility:hidden;">&#8203;</font></p><table border="0" cellpadding="0" cellspacing="0" style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:12pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">5.</td><td style="padding:0pt;"><font style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">The registrant&#8217;s other certifying officer and I have disclosed, based on our most recent evaluation of internal control over financial reporting, to the registrant&#8217;s auditors and the audit committee of the registrant&#8217;s board of directors (or persons performing the equivalent functions):</font></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;text-align:justify;text-indent:36pt;margin:0pt;"><font style="font-size:10pt;margin-bottom:12pt;visibility:hidden;">&#8203;</font></p><table border="0" cellpadding="0" cellspacing="0" style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:12pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">(a)</td><td style="padding:0pt;"><font style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">All significant deficiencies and material weaknesses in the design or operation of internal control over financial reporting which are reasonably likely to adversely affect the registrant&#8217;s ability to record, process, summarize and report financial information; and</font></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;text-align:justify;margin:0pt 0pt 0pt 36pt;"><font style="font-size:10pt;margin-bottom:12pt;margin-left:0pt;visibility:hidden;">&#8203;</font></p><table border="0" cellpadding="0" cellspacing="0" style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:12pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">(b)</td><td style="padding:0pt;"><font style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">Any fraud, whether or not material, that involves management or other employees who have a significant role in the registrant&#8217;s internal control over financial reporting.</font></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;text-align:justify;margin:0pt 0pt 0pt 36pt;"><font style="font-size:10pt;margin-bottom:12pt;margin-left:0pt;visibility:hidden;">&#8203;</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;text-align:justify;margin:0pt 0pt 0pt 36pt;"><font style="font-size:10pt;margin-bottom:12pt;margin-left:0pt;visibility:hidden;">&#8203;</font></p><div><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;" align="center"><tr style="height:1pt;"><td style="vertical-align:bottom;width:50%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"></div></div></td><td style="vertical-align:bottom;width:50%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"></div></div></td></tr><tr><td style="vertical-align:bottom;width:50%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Date: May 4, 2023</p></td><td style="vertical-align:bottom;width:50%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">/s/ Robert Buck</p></td></tr><tr><td style="vertical-align:bottom;width:50%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt;"><font style="font-size:10pt;margin-bottom:12pt;visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:bottom;width:50%;border-top:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Robert Buck</p></td></tr><tr><td style="vertical-align:bottom;width:50%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt;"><font style="font-size:10pt;margin-bottom:12pt;visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:bottom;width:50%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Chief Executive Officer and Director</p></td></tr><tr><td style="vertical-align:bottom;width:50%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt;"><font style="font-size:10pt;margin-bottom:12pt;visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:bottom;width:50%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">(Principal Executive Officer)</p></td></tr></table></div><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 12pt 0pt;"><font style="visibility:hidden;">&#8203;</font></p></div></div><hr style="background-color:#000000;clear:both;color:#000000;height:2pt;line-height:0;margin-left:10.29%;margin-right:10.29%;margin-top:30pt;page-break-after:avoid;width:79.41%;border-width:0;"></body></html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-31.2
<SEQUENCE>3
<FILENAME>bld-20230331xex31d2.htm
<DESCRIPTION>EX-31.2
<TEXT>
<!--Enhanced HTML document created with Toppan Merrill Bridge  9.14.0.96--><!--Created on: 5/4/2023 05:11:52 PM (UTC)--><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta charset="UTF-8"><title></title></head><body><div style="margin-top:30pt;"></div><div style="max-width:100%;padding-left:10.29%;padding-right:10.29%;position:relative;"><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><b style="font-weight:bold;">Exhibit 31.2</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;text-align:right;margin:0pt;"><font style="font-size:10pt;margin-bottom:12pt;visibility:hidden;">&#8203;</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Certifications</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;text-align:center;margin:0pt;"><font style="font-size:10pt;margin-bottom:12pt;visibility:hidden;">&#8203;</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">I, Robert Kuhns, certify that: </p><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;text-align:justify;margin:0pt;"><font style="font-size:10pt;margin-bottom:12pt;visibility:hidden;">&#8203;</font></p><table border="0" cellpadding="0" cellspacing="0" style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:12pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">1.</td><td style="padding:0pt;"><font style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">I have reviewed this quarterly report on Form 10-Q of TopBuild Corp.;</font></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;text-align:justify;margin:0pt 0pt 0pt 36pt;"><font style="font-size:10pt;margin-bottom:12pt;margin-left:0pt;visibility:hidden;">&#8203;</font></p><table border="0" cellpadding="0" cellspacing="0" style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:12pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">2.</td><td style="padding:0pt;"><font style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">Based on my knowledge, this report does not contain any untrue statement of a material fact or omit to state a material fact necessary to make the statements made, in light of the circumstances under which such statements were made, not misleading with respect to the period covered by this report;</font></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;text-align:justify;margin:0pt 0pt 0pt 36pt;"><font style="font-size:10pt;margin-bottom:12pt;margin-left:0pt;visibility:hidden;">&#8203;</font></p><table border="0" cellpadding="0" cellspacing="0" style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:12pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">3.</td><td style="padding:0pt;"><font style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">Based on my knowledge, the financial statements, and other financial information included in this report, fairly present in all material respects the financial condition, results of operations and cash flows of the registrant as of, and for, the periods presented in this report;</font></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;text-align:justify;margin:0pt 0pt 0pt 36pt;"><font style="font-size:10pt;margin-bottom:12pt;margin-left:0pt;visibility:hidden;">&#8203;</font></p><table border="0" cellpadding="0" cellspacing="0" style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:12pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">4.</td><td style="padding:0pt;"><font style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">The registrant&#8217;s other certifying officer and I are responsible for establishing and maintaining disclosure controls and procedures (as defined in Exchange Act Rules 13a-15(e) and 15d-15(e)) and internal control over financial reporting (as defined in Exchange Act Rules 13a-15(f) and 15d-15(f)) for the registrant and have: </font></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;text-align:justify;text-indent:36pt;margin:0pt;"><font style="font-size:10pt;margin-bottom:12pt;visibility:hidden;">&#8203;</font></p><table border="0" cellpadding="0" cellspacing="0" style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:12pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">(a)</td><td style="padding:0pt;"><font style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">Designed such disclosure controls and procedures, or caused such disclosure controls and procedures to be designed under our supervision, to ensure that material information relating to the registrant, including its consolidated subsidiaries, is made known to us by others within those entities, particularly during the period in which this report is being prepared;</font></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;text-align:justify;margin:0pt 0pt 0pt 18pt;"><font style="font-size:10pt;margin-bottom:12pt;margin-left:0pt;visibility:hidden;">&#8203;</font></p><table border="0" cellpadding="0" cellspacing="0" style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:12pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">(b)</td><td style="padding:0pt;"><font style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">Designed such internal control over financial reporting, or caused such internal control over financial reporting to be designed under our supervision, to provide reasonable assurance regarding the reliability of financial reporting and the preparation financial statements for external purposes in accordance with generally accepted accounting principles;</font></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;text-align:justify;margin:0pt 0pt 0pt 36pt;"><font style="font-size:10pt;margin-bottom:12pt;margin-left:0pt;visibility:hidden;">&#8203;</font></p><table border="0" cellpadding="0" cellspacing="0" style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:12pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">(c)</td><td style="padding:0pt;"><font style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">Evaluated the effectiveness of the registrant&#8217;s disclosure controls and procedures and presented in this report our conclusions about the effectiveness of the disclosure controls and procedures, as of the end of the period covered by this report based on such evaluation; and</font></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;text-align:justify;margin:0pt 0pt 0pt 36pt;"><font style="font-size:10pt;margin-bottom:12pt;margin-left:0pt;visibility:hidden;">&#8203;</font></p><table border="0" cellpadding="0" cellspacing="0" style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:12pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">(d)</td><td style="padding:0pt;"><font style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">Disclosed in this report any change in the registrant&#8217;s internal control over financial reporting that occurred during the registrant&#8217;s most recent fiscal quarter (the registrant&#8217;s fourth fiscal quarter in the case of an annual report) that has materially affected, or is reasonably likely to materially affect, the registrant&#8217;s internal control over financial reporting; and </font></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;text-align:justify;text-indent:36pt;margin:0pt;"><font style="font-size:10pt;margin-bottom:12pt;visibility:hidden;">&#8203;</font></p><table border="0" cellpadding="0" cellspacing="0" style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:12pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">5.</td><td style="padding:0pt;"><font style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">The registrant&#8217;s other certifying officer and I have disclosed, based on our most recent evaluation of internal control over financial reporting, to the registrant&#8217;s auditors and the audit committee of the registrant&#8217;s board of directors (or persons performing the equivalent functions):</font></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;text-align:justify;text-indent:36pt;margin:0pt;"><font style="font-size:10pt;margin-bottom:12pt;visibility:hidden;">&#8203;</font></p><table border="0" cellpadding="0" cellspacing="0" style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:12pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">(a)</td><td style="padding:0pt;"><font style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">All significant deficiencies and material weaknesses in the design or operation of internal control over financial reporting which are reasonably likely to adversely affect the registrant&#8217;s ability to record, process, summarize and report financial information; and</font></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;text-align:justify;margin:0pt 0pt 0pt 36pt;"><font style="font-size:10pt;margin-bottom:12pt;margin-left:0pt;visibility:hidden;">&#8203;</font></p><table border="0" cellpadding="0" cellspacing="0" style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:12pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">(b)</td><td style="padding:0pt;"><font style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">Any fraud, whether or not material, that involves management or other employees who have a significant role in the registrant&#8217;s internal control over financial reporting.</font></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;text-align:justify;margin:0pt 0pt 0pt 36pt;"><font style="font-size:10pt;margin-bottom:12pt;margin-left:0pt;visibility:hidden;">&#8203;</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;text-align:justify;margin:0pt 0pt 0pt 36pt;"><font style="font-size:10pt;margin-bottom:12pt;margin-left:0pt;visibility:hidden;">&#8203;</font></p><div align="left"><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:50%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"></div></div></td><td style="vertical-align:bottom;width:50%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"></div></div></td></tr><tr><td style="vertical-align:bottom;width:50%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Date: May 4, 2023</p></td><td style="vertical-align:bottom;width:50%;border-bottom:1.0pt solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">/s/ Robert Kuhns</p></td></tr><tr><td style="vertical-align:bottom;width:50%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt;"><font style="font-size:10pt;margin-bottom:12pt;visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:bottom;width:50%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Robert Kuhns</p></td></tr><tr><td style="vertical-align:bottom;width:50%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt;"><font style="font-size:10pt;margin-bottom:12pt;visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:bottom;width:50%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Vice President and Chief Financial Officer</p></td></tr><tr><td style="vertical-align:bottom;width:50%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt;"><font style="font-size:10pt;margin-bottom:12pt;visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:bottom;width:50%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">(Principal Financial Officer)</p></td></tr></table></div><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 12pt 0pt;"><font style="visibility:hidden;">&#8203;</font></p></div></div><hr style="background-color:#000000;clear:both;color:#000000;height:2pt;line-height:0;margin-left:10.29%;margin-right:10.29%;margin-top:30pt;page-break-after:avoid;width:79.41%;border-width:0;"></body></html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-32.1
<SEQUENCE>4
<FILENAME>bld-20230331xex32d1.htm
<DESCRIPTION>EX-32.1
<TEXT>
<!--Enhanced HTML document created with Toppan Merrill Bridge  9.14.0.96--><!--Created on: 5/4/2023 05:11:52 PM (UTC)--><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta charset="UTF-8"><title></title></head><body><div style="margin-top:30pt;"></div><div style="max-width:100%;padding-left:10.29%;padding-right:10.29%;position:relative;"><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><b style="font-weight:bold;">Exhibit 32.1</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;text-align:right;margin:0pt;"><font style="font-size:10pt;margin-bottom:12pt;visibility:hidden;">&#8203;</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">CERTIFICATION OF PERIOD REPORT</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt;"><font style="font-size:10pt;margin-bottom:12pt;visibility:hidden;">&#8203;</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">I, Robert Buck, Chief Executive Officer and Director of TopBuild Corp. (the &#8220;Company&#8221;), certify, pursuant to Section 906 of the Sarbanes-Oxley Act of 2002, 18 U.S.C. Section 1350, that, to the best of my knowledge:</p><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt;"><font style="font-size:10pt;margin-bottom:12pt;visibility:hidden;">&#8203;</font></p><table border="0" cellpadding="0" cellspacing="0" style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:12pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:36pt;padding:0pt;">(1)</td><td style="padding:0pt;"><font style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">the Quarterly Report on Form 10-Q of the Company for the quarter ended March 31, 2023 (the &#8220;Report&#8221;) fully complies with the requirements of Section 13(a) or 15(d) of the Securities Exchange Act of 1934 (15 U.S.C. 78m or 78o(d)); and</font></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;padding-left:36pt;text-align:justify;text-indent:-36pt;margin:0pt;"><font style="font-size:10pt;margin-bottom:12pt;visibility:hidden;">&#8203;</font></p><table border="0" cellpadding="0" cellspacing="0" style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:12pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:36pt;padding:0pt;">(2)</td><td style="padding:0pt;"><font style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">the information contained in the Report fairly presents, in all material respects, the financial condition and results of operations of the Company.</font></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt;"><font style="font-size:10pt;margin-bottom:12pt;visibility:hidden;">&#8203;</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt;"><font style="font-size:10pt;margin-bottom:12pt;visibility:hidden;">&#8203;</font></p><div align="left"><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:50%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"></div></div></td><td style="vertical-align:bottom;width:50%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"></div></div></td></tr><tr><td style="vertical-align:bottom;width:50%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Date: May 4, 2023</p></td><td style="vertical-align:bottom;width:50%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">/s/ Robert Buck</p></td></tr><tr><td style="vertical-align:bottom;width:50%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt;"><font style="font-size:10pt;margin-bottom:12pt;visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:bottom;width:50%;border-top:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Robert Buck</p></td></tr><tr><td style="vertical-align:bottom;width:50%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt;"><font style="font-size:10pt;margin-bottom:12pt;visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:bottom;width:50%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Chief Executive Officer and Director</p></td></tr><tr><td style="vertical-align:bottom;width:50%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt;"><font style="font-size:10pt;margin-bottom:12pt;visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:bottom;width:50%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">(Principal Executive Officer)</p></td></tr></table></div><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 12pt 0pt;"><font style="visibility:hidden;">&#8203;</font></p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;line-height:10pt;margin:0pt;"><font style="font-size:10pt;visibility:hidden;">&#8203;</font></p></div></div><hr style="background-color:#000000;clear:both;color:#000000;height:2pt;line-height:0;margin-left:10.29%;margin-right:10.29%;margin-top:30pt;page-break-after:avoid;width:79.41%;border-width:0;"></body></html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-32.2
<SEQUENCE>5
<FILENAME>bld-20230331xex32d2.htm
<DESCRIPTION>EX-32.2
<TEXT>
<!--Enhanced HTML document created with Toppan Merrill Bridge  9.14.0.96--><!--Created on: 5/4/2023 05:11:53 PM (UTC)--><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta charset="UTF-8"><title></title></head><body><div style="margin-top:30pt;"></div><div style="max-width:100%;padding-left:11.76%;padding-right:11.76%;position:relative;"><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><b style="font-weight:bold;">Exhibit 32.2</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;text-align:right;margin:0pt;"><font style="font-size:10pt;margin-bottom:12pt;visibility:hidden;">&#8203;</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">CERTIFICATION OF PERIOD REPORT</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt;"><font style="font-size:10pt;margin-bottom:12pt;visibility:hidden;">&#8203;</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">I, Robert Kuhns, Vice President and Chief Financial Officer of TopBuild Corp. (the &#8220;Company&#8221;), certify, pursuant to Section 906 of the Sarbanes-Oxley Act of 2002, 18 U.S.C. Section 1350, that, to the best of my knowledge:</p><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt;"><font style="font-size:10pt;margin-bottom:12pt;visibility:hidden;">&#8203;</font></p><table border="0" cellpadding="0" cellspacing="0" style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:12pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:36pt;padding:0pt;">(1)</td><td style="padding:0pt;"><font style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">the Quarterly Report on Form 10-Q of the Company for the quarter ended March 31, 2023 (the &#8220;Report&#8221;) fully complies with the requirements of Section 13(a) or 15(d) of the Securities Exchange Act of 1934 (15 U.S.C. 78m or 78o(d)); and</font></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;padding-left:36pt;text-align:justify;text-indent:-36pt;margin:0pt;"><font style="font-size:10pt;margin-bottom:12pt;visibility:hidden;">&#8203;</font></p><table border="0" cellpadding="0" cellspacing="0" style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:12pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:36pt;padding:0pt;">(2)</td><td style="padding:0pt;"><font style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">the information contained in the Report fairly presents, in all material respects, the financial condition and results of operations of the Company.</font></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt;"><font style="font-size:10pt;margin-bottom:12pt;visibility:hidden;">&#8203;</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt;"><font style="font-size:10pt;margin-bottom:12pt;visibility:hidden;">&#8203;</font></p><div align="left"><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:top;width:55%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:0pt;width:100%;"></div></div></td><td style="vertical-align:top;width:45%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:0pt;width:100%;"></div></div></td></tr><tr><td style="vertical-align:top;width:55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Date: May 4, 2023</p></td><td style="vertical-align:top;width:45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">/s/ Robert Kuhns</p></td></tr><tr><td style="vertical-align:top;width:55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt;"><font style="font-size:10pt;margin-bottom:12pt;visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:top;width:45%;border-top:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Robert Kuhns</p></td></tr><tr><td style="vertical-align:top;width:55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt;"><font style="font-size:10pt;margin-bottom:12pt;visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:top;width:45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Vice President and Chief Financial Officer</p></td></tr><tr><td style="vertical-align:top;width:55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt;"><font style="font-size:10pt;margin-bottom:12pt;visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:top;width:45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">(Principal Financial Officer)</p></td></tr></table></div><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 12pt 0pt;"><font style="visibility:hidden;">&#8203;</font></p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;line-height:10pt;margin:0pt;"><font style="font-size:10pt;visibility:hidden;">&#8203;</font></p></div></div><hr style="background-color:#000000;clear:both;color:#000000;height:2pt;line-height:0;margin-left:11.76%;margin-right:11.76%;margin-top:30pt;page-break-after:avoid;width:76.47%;border-width:0;"></body></html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.SCH
<SEQUENCE>6
<FILENAME>bld-20230331.xsd
<DESCRIPTION>EX-101.SCH
<TEXT>
<XBRL>
<?xml version="1.0" encoding="us-ascii"?>
<!--XBRL document created with Toppan Merrill Bridge  10.2.5.9 -->
<!--Based on XBRL 2.1-->
<!--Created on: 5/4/2023 5:12:08 PM-->
<!--Modified on: 5/4/2023 5:12:08 PM-->
<xsd:schema targetNamespace="http://www.topbuild.com/20230331" attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:ref="http://www.xbrl.org/2006/ref" xmlns:xbrldt="http://xbrl.org/2005/xbrldt" xmlns:xl="http://www.xbrl.org/2003/XLink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xbrli="http://www.xbrl.org/2003/instance" xmlns:attributeFormDefault="unqualified" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:us-gaap="http://fasb.org/us-gaap/2022" xmlns:us-types="http://fasb.org/us-types/2022" xmlns:negated="http://www.xbrl.org/2009/role/negated" xmlns:srt-types="http://fasb.org/srt-types/2022" xmlns:dtr-types="http://www.xbrl.org/dtr/type/2020-01-21" xmlns:bld="http://www.topbuild.com/20230331" xmlns:enum2="http://xbrl.org/2020/extensible-enumerations-2.0" xmlns:currency="http://xbrl.sec.gov/currency/2022" xmlns:us-roles="http://fasb.org/us-roles/2022" xmlns:sic="http://xbrl.sec.gov/sic/2022" xmlns:srt-roles="http://fasb.org/srt-roles/2022" xmlns:stpr="http://xbrl.sec.gov/stpr/2022" xmlns:utr="http://www.xbrl.org/2009/utr" xmlns:exch="http://xbrl.sec.gov/exch/2022" xmlns:naics="http://xbrl.sec.gov/naics/2022" xmlns:country="http://xbrl.sec.gov/country/2022" xmlns:srt="http://fasb.org/srt/2022" xmlns:deprecated="http://www.xbrl.org/2009/role/deprecated" xmlns:net="http://www.xbrl.org/2009/role/net" xmlns:dei="http://xbrl.sec.gov/dei/2022" xmlns:dtr="http://www.xbrl.org/2009/dtr" xmlns:cef="http://xbrl.sec.gov/cef/2022" xmlns:xbrldi="http://xbrl.org/2006/xbrldi">
  <xsd:annotation>
    <xsd:appinfo>
      <link:roleType roleURI="http://www.topbuild.com/role/DisclosureStandardAndCustomAxisDomainDefaults" id="DisclosureStandardAndCustomAxisDomainDefaults">
        <link:definition>99900 - Disclosure - Standard And Custom Axis Domain Defaults</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.topbuild.com/role/StatementCondensedConsolidatedBalanceSheets" id="StatementCondensedConsolidatedBalanceSheets">
        <link:definition>00100 - Statement - CONDENSED CONSOLIDATED BALANCE SHEETS</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.topbuild.com/role/StatementCondensedConsolidatedStatementsOfOperations" id="StatementCondensedConsolidatedStatementsOfOperations">
        <link:definition>00200 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF OPERATIONS</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.topbuild.com/role/StatementCondensedConsolidatedStatementsOfComprehensiveIncome" id="StatementCondensedConsolidatedStatementsOfComprehensiveIncome">
        <link:definition>00300 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF COMPREHENSIVE INCOME</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.topbuild.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" id="StatementCondensedConsolidatedStatementsOfCashFlows">
        <link:definition>00400 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF CASH FLOWS</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.topbuild.com/role/DisclosureGoodwillAndOtherIntangiblesGoodwillDetails" id="DisclosureGoodwillAndOtherIntangiblesGoodwillDetails">
        <link:definition>40401 - Disclosure - Goodwill and Other Intangibles - Goodwill (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.topbuild.com/role/DisclosureGoodwillAndOtherIntangiblesOtherIntangibleAssetsDetails" id="DisclosureGoodwillAndOtherIntangiblesOtherIntangibleAssetsDetails">
        <link:definition>40402 - Disclosure - Goodwill and Other Intangibles - Other intangible assets (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.topbuild.com/role/DisclosureLongTermDebtReconciliationDetails" id="DisclosureLongTermDebtReconciliationDetails">
        <link:definition>40501 - Disclosure - Long-Term Debt - Reconciliation (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.topbuild.com/role/DisclosureLongTermDebtReconciliationDetailsCalc2" id="DisclosureLongTermDebtReconciliationDetailsCalc2">
        <link:definition>40501 - Disclosure - Long-Term Debt - Reconciliation (Details) (Calc2)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.topbuild.com/role/DisclosureLongTermDebtScheduleOfDebtMaturityDetails" id="DisclosureLongTermDebtScheduleOfDebtMaturityDetails">
        <link:definition>40502 - Disclosure - Long-Term Debt - Schedule of debt maturity (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.topbuild.com/role/DisclosureLongTermDebtRevolvingFacilityDetails" id="DisclosureLongTermDebtRevolvingFacilityDetails">
        <link:definition>40504 - Disclosure - Long-Term Debt - Revolving Facility (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.topbuild.com/role/DisclosureNetIncomePerShareCalculationDetails" id="DisclosureNetIncomePerShareCalculationDetails">
        <link:definition>40901 - Disclosure - Net Income Per Share - Calculation (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.topbuild.com/role/DisclosureShareBasedCompensationActivityDetails" id="DisclosureShareBasedCompensationActivityDetails">
        <link:definition>41002 - Disclosure - Share-Based Compensation - Activity (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.topbuild.com/role/DisclosureBusinessCombinationsSummaryDetails" id="DisclosureBusinessCombinationsSummaryDetails">
        <link:definition>41101 - Disclosure - Business Combinations - Summary (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.topbuild.com/role/DisclosureIncomeTaxesDeferredTaxesCalc2" id="DisclosureIncomeTaxesDeferredTaxesCalc2">
        <link:definition>41211 - Disclosure - Income Taxes - Deferred Taxes (Calc 2)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.topbuild.com/role/DisclosureAccruedLiabilitiesDetails" id="DisclosureAccruedLiabilitiesDetails">
        <link:definition>41301 - Disclosure - Accrued Liabilities (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.topbuild.com/role/DisclosureOtherCommitmentsAndContingenciesDetails" id="DisclosureOtherCommitmentsAndContingenciesDetails">
        <link:definition>41401 - Disclosure - Other Commitments and Contingencies (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.topbuild.com/role/DocumentDocumentAndEntityInformation" id="DocumentDocumentAndEntityInformation">
        <link:definition>00090 - Document - Document and Entity Information</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.topbuild.com/role/StatementCondensedConsolidatedBalanceSheetsParenthetical" id="StatementCondensedConsolidatedBalanceSheetsParenthetical">
        <link:definition>00105 - Statement - CONDENSED CONSOLIDATED BALANCE SHEETS (Parenthetical)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.topbuild.com/role/StatementCondensedConsolidatedStatementsOfChangesInEquity" id="StatementCondensedConsolidatedStatementsOfChangesInEquity">
        <link:definition>00500 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF CHANGES IN EQUITY</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.topbuild.com/role/StatementCondensedConsolidatedStatementsOfChangesInEquityParenthetical" id="StatementCondensedConsolidatedStatementsOfChangesInEquityParenthetical">
        <link:definition>00505 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF CHANGES IN EQUITY (Parenthetical)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.topbuild.com/role/DisclosureBasisOfPresentation" id="DisclosureBasisOfPresentation">
        <link:definition>10101 - Disclosure - Basis of Presentation</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.topbuild.com/role/DisclosureAccountingPolicies" id="DisclosureAccountingPolicies">
        <link:definition>10201 - Disclosure - Accounting Policies</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.topbuild.com/role/DisclosureGoodwillAndOtherIntangibles" id="DisclosureGoodwillAndOtherIntangibles">
        <link:definition>10401 - Disclosure - Goodwill and Other Intangibles</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.topbuild.com/role/DisclosureLongTermDebt" id="DisclosureLongTermDebt">
        <link:definition>10501 - Disclosure - Long-Term Debt</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.topbuild.com/role/DisclosureFairValueMeasurements" id="DisclosureFairValueMeasurements">
        <link:definition>10601 - Disclosure - Fair Value Measurements</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.topbuild.com/role/DisclosureSegmentInformation" id="DisclosureSegmentInformation">
        <link:definition>10701 - Disclosure - Segment Information</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.topbuild.com/role/DisclosureIncomeTaxes" id="DisclosureIncomeTaxes">
        <link:definition>10801 - Disclosure - Income Taxes</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.topbuild.com/role/DisclosureNetIncomePerShare" id="DisclosureNetIncomePerShare">
        <link:definition>10901 - Disclosure - Net Income Per Share</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.topbuild.com/role/DisclosureShareBasedCompensation" id="DisclosureShareBasedCompensation">
        <link:definition>11001 - Disclosure - Share-Based Compensation</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.topbuild.com/role/DisclosureBusinessCombinations" id="DisclosureBusinessCombinations">
        <link:definition>11101 - Disclosure - Business Combinations</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.topbuild.com/role/DisclosureAccruedLiabilities" id="DisclosureAccruedLiabilities">
        <link:definition>11201 - Disclosure - Accrued Liabilities</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.topbuild.com/role/DisclosureOtherCommitmentsAndContingencies" id="DisclosureOtherCommitmentsAndContingencies">
        <link:definition>11301 - Disclosure - Other Commitments and Contingencies</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.topbuild.com/role/DisclosureAccountingPoliciesPolicies" id="DisclosureAccountingPoliciesPolicies">
        <link:definition>20202 - Disclosure - Accounting Policies (Policies)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.topbuild.com/role/DisclosureGoodwillAndOtherIntangiblesTables" id="DisclosureGoodwillAndOtherIntangiblesTables">
        <link:definition>30403 - Disclosure - Goodwill and Other Intangibles (Tables)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.topbuild.com/role/DisclosureLongTermDebtTables" id="DisclosureLongTermDebtTables">
        <link:definition>30503 - Disclosure - Long-Term Debt (Tables)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.topbuild.com/role/DisclosureSegmentInformationTables" id="DisclosureSegmentInformationTables">
        <link:definition>30703 - Disclosure - Segment Information (Tables)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.topbuild.com/role/DisclosureNetIncomePerShareTables" id="DisclosureNetIncomePerShareTables">
        <link:definition>30903 - Disclosure - Net Income Per Share (Tables)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.topbuild.com/role/DisclosureShareBasedCompensationTables" id="DisclosureShareBasedCompensationTables">
        <link:definition>31003 - Disclosure - Share-Based Compensation (Tables)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.topbuild.com/role/DisclosureBusinessCombinationsTables" id="DisclosureBusinessCombinationsTables">
        <link:definition>31103 - Disclosure - Business Combinations (Tables)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.topbuild.com/role/DisclosureAccruedLiabilitiesTables" id="DisclosureAccruedLiabilitiesTables">
        <link:definition>31203 - Disclosure - Accrued Liabilities (Tables)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.topbuild.com/role/DisclosureOtherCommitmentsAndContingenciesTables" id="DisclosureOtherCommitmentsAndContingenciesTables">
        <link:definition>31303 - Disclosure - Other Commitments and Contingencies (Tables)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.topbuild.com/role/DisclosureBasisOfPresentationDetails" id="DisclosureBasisOfPresentationDetails">
        <link:definition>40101 - Disclosure - Basis of Presentation (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.topbuild.com/role/DisclosureRevenueRecognitionDisaggregationDetails" id="DisclosureRevenueRecognitionDisaggregationDetails">
        <link:definition>40301 - Disclosure - Revenue Recognition - Disaggregation (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.topbuild.com/role/DisclosureRevenueRecognitionOtherDetails" id="DisclosureRevenueRecognitionOtherDetails">
        <link:definition>40302 - Disclosure - Revenue Recognition - Other (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.topbuild.com/role/DisclosureLongTermDebtKeyTermsOfCreditAgreementDetails" id="DisclosureLongTermDebtKeyTermsOfCreditAgreementDetails">
        <link:definition>40503 - Disclosure - Long-Term Debt - Key Terms of Credit Agreement (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.topbuild.com/role/DisclosureLongTermDebtSeniorNotesAndEquipmentNotesDetails" id="DisclosureLongTermDebtSeniorNotesAndEquipmentNotesDetails">
        <link:definition>40505 - Disclosure - Long-Term Debt - Senior Notes and Equipment Notes (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.topbuild.com/role/DisclosureLongTermDebtOtherDetails" id="DisclosureLongTermDebtOtherDetails">
        <link:definition>40506 - Disclosure - Long-Term Debt - Other (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.topbuild.com/role/DisclosureFairValueMeasurementsDetails" id="DisclosureFairValueMeasurementsDetails">
        <link:definition>40601 - Disclosure - Fair Value Measurements (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.topbuild.com/role/DisclosureSegmentInformationDetails" id="DisclosureSegmentInformationDetails">
        <link:definition>40701 - Disclosure - Segment Information (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.topbuild.com/role/DisclosureIncomeTaxesDetails" id="DisclosureIncomeTaxesDetails">
        <link:definition>40801 - Disclosure - Income Taxes (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.topbuild.com/role/DisclosureNetIncomePerShareAntiDilutiveCommonStockEquivalentsDetails" id="DisclosureNetIncomePerShareAntiDilutiveCommonStockEquivalentsDetails">
        <link:definition>40902 - Disclosure - Net Income Per Share - Anti-dilutive common stock equivalents (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.topbuild.com/role/DisclosureShareBasedCompensationExpenseDetails" id="DisclosureShareBasedCompensationExpenseDetails">
        <link:definition>41001 - Disclosure - Share-Based Compensation - Expense (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.topbuild.com/role/DisclosureBusinessCombinationsFairValueOfConsiderationDetails" id="DisclosureBusinessCombinationsFairValueOfConsiderationDetails">
        <link:definition>41102 - Disclosure - Business Combinations - Fair Value of Consideration (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.topbuild.com/role/DisclosureRevenueRecognition" id="DisclosureRevenueRecognition">
        <link:definition>10301 - Disclosure - Revenue Recognition</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.topbuild.com/role/DisclosureRevenueRecognitionTables" id="DisclosureRevenueRecognitionTables">
        <link:definition>30303 - Disclosure - Revenue Recognition (Tables)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.topbuild.com/role/DisclosureFairValueMeasurementsTables" id="DisclosureFairValueMeasurementsTables">
        <link:definition>30603 - Disclosure - Fair Value Measurements (Tables)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:linkbaseRef xlink:type="simple" xlink:href="bld-20230331_pre.xml" xlink:role="http://www.xbrl.org/2003/role/presentationLinkbaseRef" xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase" />
      <link:linkbaseRef xlink:type="simple" xlink:href="bld-20230331_cal.xml" xlink:title="Calculation Links, all" xlink:role="http://www.xbrl.org/2003/role/calculationLinkbaseRef" xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase" />
      <link:linkbaseRef xlink:type="simple" xlink:href="bld-20230331_def.xml" xlink:role="http://www.xbrl.org/2003/role/definitionLinkbaseRef" xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase" />
      <link:linkbaseRef xlink:type="simple" xlink:href="bld-20230331_lab.xml" xlink:role="http://www.xbrl.org/2003/role/labelLinkbaseRef" xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase" />
    </xsd:appinfo>
  </xsd:annotation>
  <xsd:import namespace="http://xbrl.sec.gov/dei/2022" schemaLocation="https://xbrl.sec.gov/dei/2022/dei-2022.xsd" />
  <xsd:import namespace="http://www.xbrl.org/dtr/type/2020-01-21" schemaLocation="https://www.xbrl.org/dtr/type/2020-01-21/types.xsd" />
  <xsd:import namespace="http://www.xbrl.org/2009/role/negated" schemaLocation="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd" />
  <xsd:import namespace="http://www.xbrl.org/2003/instance" schemaLocation="http://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd" />
  <xsd:import namespace="http://xbrl.org/2005/xbrldt" schemaLocation="http://www.xbrl.org/2005/xbrldt-2005.xsd" />
  <xsd:import namespace="http://fasb.org/us-roles/2022" schemaLocation="https://xbrl.fasb.org/us-gaap/2022/elts/us-roles-2022.xsd" />
  <xsd:import namespace="http://fasb.org/us-gaap/2022" schemaLocation="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd" />
  <xsd:import namespace="http://fasb.org/srt/2022" schemaLocation="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd" />
  <xsd:element name="InstallationSegmentMember" id="bld_InstallationSegmentMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="true" nillable="true" xbrli:periodType="duration" />
  <xsd:element name="DistributionSegmentMember" id="bld_DistributionSegmentMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="true" nillable="true" xbrli:periodType="duration" />
  <xsd:element id="bld_LineOfCreditFacilityAdditionalBorrowingCapacityAvailableSubjectToCertainConditions" name="LineOfCreditFacilityAdditionalBorrowingCapacityAvailableSubjectToCertainConditions" nillable="true" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" xbrli:balance="credit" />
  <xsd:element id="bld_LineOfCreditFacilitySublimitAvailableForLettersOfCredit" name="LineOfCreditFacilitySublimitAvailableForLettersOfCredit" nillable="true" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" xbrli:balance="credit" />
  <xsd:element id="bld_LineOfCreditFacilitySublimitAvailableForSwinglineLoans" name="LineOfCreditFacilitySublimitAvailableForSwinglineLoans" nillable="true" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" xbrli:balance="credit" />
  <xsd:element id="bld_DebitInstrumentApplicableMarginBasedOnTotalLeverageRatio" name="DebitInstrumentApplicableMarginBasedOnTotalLeverageRatio" nillable="true" type="dtr-types:percentItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" />
  <xsd:element id="bld_DebtInstrumentCovenantNetLeverageRatio" name="DebtInstrumentCovenantNetLeverageRatio" nillable="true" type="xbrli:pureItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" />
  <xsd:element name="IncrementalCommonSharesAttributableToDilutiveEffectOfRestrictedStockAwards" id="bld_IncrementalCommonSharesAttributableToDilutiveEffectOfRestrictedStockAwards" type="xbrli:sharesItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" />
  <xsd:element name="IncrementalCommonSharesAttributableToDilutiveEffectOfStockOptions" id="bld_IncrementalCommonSharesAttributableToDilutiveEffectOfStockOptions" type="xbrli:sharesItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" />
  <xsd:element id="bld_LongTermIncentivePlanMember" name="LongTermIncentivePlanMember" nillable="true" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" />
  <xsd:element id="bld_AccruedLiabilitiesDisclosureTextBlock" name="AccruedLiabilitiesDisclosureTextBlock" nillable="true" type="dtr-types:textBlockItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" />
  <xsd:element id="bld_AccruedLiabilitiesAndEmployeeRelatedLiabilitiesCurrent" name="AccruedLiabilitiesAndEmployeeRelatedLiabilitiesCurrent" nillable="true" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" xbrli:balance="credit" />
  <xsd:element id="bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageGrantDateFairValue" name="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageGrantDateFairValue" nillable="true" type="dtr-types:perShareItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" />
  <xsd:element id="bld_PerformanceBondsOutstanding" name="PerformanceBondsOutstanding" nillable="true" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" xbrli:balance="credit" />
  <xsd:element id="bld_LicenseAndInsuranceRelatedAndOtherBondsOutstanding" name="LicenseAndInsuranceRelatedAndOtherBondsOutstanding" nillable="true" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" xbrli:balance="credit" />
  <xsd:element id="bld_RainGuttersMember" name="RainGuttersMember" nillable="true" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" />
  <xsd:element id="bld_VestingCriteriaAxis" name="VestingCriteriaAxis" nillable="true" type="xbrli:stringItemType" substitutionGroup="xbrldt:dimensionItem" abstract="true" xbrli:periodType="duration" />
  <xsd:element id="bld_VestingCriteriaDomain" name="VestingCriteriaDomain" nillable="true" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" />
  <xsd:element id="bld_VestingBasedOnServiceMember" name="VestingBasedOnServiceMember" nillable="true" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" />
  <xsd:element id="bld_VestingBasedOnPerformanceMember" name="VestingBasedOnPerformanceMember" nillable="true" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" />
  <xsd:element id="bld_VestingBasedOnMarketConditionsMember" name="VestingBasedOnMarketConditionsMember" nillable="true" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" />
  <xsd:element id="bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeOneMember" name="ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeOneMember" nillable="true" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" />
  <xsd:element id="bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeTwoMember" name="ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeTwoMember" nillable="true" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" />
  <xsd:element id="bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeThreeMember" name="ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeThreeMember" nillable="true" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" />
  <xsd:element id="bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeFourMember" name="ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeFourMember" nillable="true" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" />
  <xsd:element id="bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangePercentage" name="ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangePercentage" nillable="true" type="dtr-types:percentItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" />
  <xsd:element id="bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeRelatedExpenses" name="ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeRelatedExpenses" nillable="true" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" xbrli:balance="debit" />
  <xsd:element id="bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardOtherThanOptionsGrantsInPeriodTotalGrantDateFairValue" name="ShareBasedCompensationArrangementByShareBasedPaymentAwardOtherThanOptionsGrantsInPeriodTotalGrantDateFairValue" nillable="true" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" xbrli:balance="debit" />
  <xsd:element id="bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRemainingMeasurementPeriod" name="ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRemainingMeasurementPeriod" nillable="true" type="xbrli:durationItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" />
  <xsd:element id="bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsConvertedExercisedInPeriod" name="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsConvertedExercisedInPeriod" nillable="true" type="xbrli:sharesItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" />
  <xsd:element id="bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsConvertedExercisedWeightedAverageGrantDateFairValue" name="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsConvertedExercisedWeightedAverageGrantDateFairValue" nillable="true" type="dtr-types:perShareItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" />
  <xsd:element id="bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsConvertedExercisedWeightedAverageGrantDateFairValue" name="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsConvertedExercisedWeightedAverageGrantDateFairValue" nillable="true" type="dtr-types:perShareItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" />
  <xsd:element id="bld_ScheduleOfShareBasedPaymentAwardOtherThanOptionsValuationAssumptionsTableTextBlock" name="ScheduleOfShareBasedPaymentAwardOtherThanOptionsValuationAssumptionsTableTextBlock" nillable="true" type="dtr-types:textBlockItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" />
  <xsd:element id="bld_ScheduleOfShareBasedPaymentAwardRestrictedStockAwardsPayoutRangeAndRelatedExpenseTableTextBlock" name="ScheduleOfShareBasedPaymentAwardRestrictedStockAwardsPayoutRangeAndRelatedExpenseTableTextBlock" nillable="true" type="dtr-types:textBlockItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" />
  <xsd:element id="bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeAxis" name="ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeAxis" nillable="true" type="xbrli:stringItemType" substitutionGroup="xbrldt:dimensionItem" abstract="true" xbrli:periodType="duration" />
  <xsd:element id="bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeDomain" name="ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeDomain" nillable="true" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" />
  <xsd:element id="bld_SummaryOfKeyTermsOfCreditAgreementTableTextBlock" name="SummaryOfKeyTermsOfCreditAgreementTableTextBlock" nillable="true" type="dtr-types:textBlockItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" />
  <xsd:element id="bld_ScheduleOfAvailabilityUnderRevolvingFacilityTableTextBlock" name="ScheduleOfAvailabilityUnderRevolvingFacilityTableTextBlock" nillable="true" type="dtr-types:textBlockItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" />
  <xsd:element id="bld_ScheduleOfKeyFinancialCovenantsTableTextBlock" name="ScheduleOfKeyFinancialCovenantsTableTextBlock" nillable="true" type="dtr-types:textBlockItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" />
  <xsd:element id="bld_ScheduleOfShareBasedCompensationExpenseTableTextBlock" name="ScheduleOfShareBasedCompensationExpenseTableTextBlock" nillable="true" type="dtr-types:textBlockItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" />
  <xsd:element id="bld_EliminationsAndReconcilingItemsMember" name="EliminationsAndReconcilingItemsMember" nillable="true" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" />
  <xsd:element id="bld_BaseRateBorrowingsMember" name="BaseRateBorrowingsMember" nillable="true" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" />
  <xsd:element id="bld_DebtAgreementTermsAxis" name="DebtAgreementTermsAxis" nillable="true" type="xbrli:stringItemType" substitutionGroup="xbrldt:dimensionItem" abstract="true" xbrli:periodType="duration" />
  <xsd:element id="bld_DebtAgreementTermsDomain" name="DebtAgreementTermsDomain" nillable="true" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" />
  <xsd:element id="bld_BondsOutstanding" name="BondsOutstanding" nillable="true" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" xbrli:balance="credit" />
  <xsd:element id="bld_BondsOutstandingTableTextBlock" name="BondsOutstandingTableTextBlock" nillable="true" type="dtr-types:textBlockItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" />
  <xsd:element id="bld_FederalFundsRateMember" name="FederalFundsRateMember" nillable="true" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" />
  <xsd:element id="bld_DebtInstrumentReferenceRateMaturityPeriod" name="DebtInstrumentReferenceRateMaturityPeriod" nillable="true" type="xbrli:durationItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" />
  <xsd:element id="bld_TreasuryStockValueAcquiredCostMethodShareRepurchaseProgram" name="TreasuryStockValueAcquiredCostMethodShareRepurchaseProgram" nillable="true" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" xbrli:balance="debit" />
  <xsd:element id="bld_TreasuryStockSharesAcquiredCostMethodShareRepurchaseProgram" name="TreasuryStockSharesAcquiredCostMethodShareRepurchaseProgram" nillable="true" type="xbrli:sharesItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" />
  <xsd:element id="bld_OutstandingBondsAbstract" name="OutstandingBondsAbstract" nillable="true" type="xbrli:stringItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" />
  <xsd:element id="bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsEstimatedFairValueOfAwardsGranted" name="ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsEstimatedFairValueOfAwardsGranted" nillable="true" type="dtr-types:perShareItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" />
  <xsd:element id="bld_ReceivablesNetMember" name="ReceivablesNetMember" nillable="true" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" />
  <xsd:element id="bld_EquipmentNotesMember" name="EquipmentNotesMember" nillable="true" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" />
  <xsd:element id="bld_ChangeInControlScenarioMember" name="ChangeInControlScenarioMember" nillable="true" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" />
  <xsd:element id="bld_EventOfDefaultScenarioMember" name="EventOfDefaultScenarioMember" nillable="true" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" />
  <xsd:element id="bld_MinimumPercentageOfDebtImmediatelyDueAndPayable" name="MinimumPercentageOfDebtImmediatelyDueAndPayable" nillable="true" type="dtr-types:percentItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" />
  <xsd:element id="bld_LineOfCreditFacilityAdditionalBorrowingCapacityDelayedDraw" name="LineOfCreditFacilityAdditionalBorrowingCapacityDelayedDraw" nillable="true" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" xbrli:balance="credit" />
  <xsd:element id="bld_ScheduleOfAcquiredFiniteLivedAndIndefiniteLivedIntangibleAssetTableTextBlock" name="ScheduleOfAcquiredFiniteLivedAndIndefiniteLivedIntangibleAssetTableTextBlock" nillable="true" type="dtr-types:textBlockItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" />
  <xsd:element id="bld_GlassAndWindowsMember" name="GlassAndWindowsMember" nillable="true" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" />
  <xsd:element id="bld_AllOtherProductsMember" name="AllOtherProductsMember" nillable="true" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" />
  <xsd:element id="bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardOtherThanOptionsGrantsCumulativePeriodOfAchievement" name="ShareBasedCompensationArrangementByShareBasedPaymentAwardOtherThanOptionsGrantsCumulativePeriodOfAchievement" nillable="true" type="xbrli:durationItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" />
  <xsd:element id="bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardOtherThanOptionsGrantsCumulativePeriodOfAchievementPercentage" name="ShareBasedCompensationArrangementByShareBasedPaymentAwardOtherThanOptionsGrantsCumulativePeriodOfAchievementPercentage" nillable="true" type="dtr-types:percentItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" />
  <xsd:element id="bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardOtherThanOptionsGrantsTotalCompensationExpenseRecognizedOverPerformancePeriod" name="ShareBasedCompensationArrangementByShareBasedPaymentAwardOtherThanOptionsGrantsTotalCompensationExpenseRecognizedOverPerformancePeriod" nillable="true" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" xbrli:balance="debit" />
  <xsd:element id="bld_ResidentialMember" name="ResidentialMember" nillable="true" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" />
  <xsd:element id="bld_InsulationAndAccessoriesMember" name="InsulationAndAccessoriesMember" nillable="true" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" />
  <xsd:element id="bld_DebtInstrumentInterestRatePercentageFloor" name="DebtInstrumentInterestRatePercentageFloor" nillable="true" type="dtr-types:percentItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" />
  <xsd:element id="bld_DebtInstrumentCovenantMinimumInterestCoverageRatio" name="DebtInstrumentCovenantMinimumInterestCoverageRatio" nillable="true" type="xbrli:pureItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" />
  <xsd:element id="bld_ScheduleOfUnrecognizedShareBasedCompensationExpenseNonvestedAwards" name="ScheduleOfUnrecognizedShareBasedCompensationExpenseNonvestedAwards" nillable="true" type="dtr-types:textBlockItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" />
  <xsd:element id="bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedOrExpiredInPeriod" name="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedOrExpiredInPeriod" nillable="true" type="xbrli:sharesItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" />
  <xsd:element id="bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedOrExpiredWeightedAverageGrantDateFairValue" name="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedOrExpiredWeightedAverageGrantDateFairValue" nillable="true" type="dtr-types:perShareItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" />
  <xsd:element id="bld_LongTermDebtMaturitiesRepaymentsOfPrincipalAfterYearFour" name="LongTermDebtMaturitiesRepaymentsOfPrincipalAfterYearFour" nillable="true" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" xbrli:balance="credit" />
  <xsd:element id="bld_AccruedSalesAndPropertyTaxesCurrent" name="AccruedSalesAndPropertyTaxesCurrent" nillable="true" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" xbrli:balance="credit" />
  <xsd:element id="bld_AccruedCustomerRebatesCurrent" name="AccruedCustomerRebatesCurrent" nillable="true" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" xbrli:balance="credit" />
  <xsd:element id="bld_SeniorNotesDue2029Member" name="SeniorNotesDue2029Member" nillable="true" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" />
  <xsd:element id="bld_DebtInstrumentRedemptionOptionOneMember" name="DebtInstrumentRedemptionOptionOneMember" nillable="true" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" />
  <xsd:element id="bld_DebtInstrumentRedemptionOptionTwoMember" name="DebtInstrumentRedemptionOptionTwoMember" nillable="true" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" />
  <xsd:element id="bld_DebtInstrumentConditionalRedemptionThresholdPercentageOfAggregatePrincipalAmountOriginallyIssuedRemainsOutstanding" name="DebtInstrumentConditionalRedemptionThresholdPercentageOfAggregatePrincipalAmountOriginallyIssuedRemainsOutstanding" nillable="true" type="dtr-types:percentItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" />
  <xsd:element id="bld_SeniorNotesDue2032Member" name="SeniorNotesDue2032Member" nillable="true" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" />
  <xsd:element name="DebtInstrumentRedemptionPeriodSixMember" id="bld_DebtInstrumentRedemptionPeriodSixMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" abstract="true" />
  <xsd:element name="DebtInstrumentRedemptionPeriodSevenMember" id="bld_DebtInstrumentRedemptionPeriodSevenMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" abstract="true" />
  <xsd:element name="DebtInstrumentRedemptionPriceBasisSpreadOnTreasuryRate" id="bld_DebtInstrumentRedemptionPriceBasisSpreadOnTreasuryRate" type="dtr-types:percentItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" abstract="false" />
  <xsd:element name="BillingsInsulationServiceInc.Member" id="bld_BillingsInsulationServiceInc.Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" abstract="true" />
  <xsd:element name="Acquisitions2022Member" id="bld_Acquisitions2022Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" abstract="true" />
  <xsd:element name="CommercialAndIndustrialMember" id="bld_CommercialAndIndustrialMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" abstract="true" />
  <xsd:element name="AmendedCreditAgreementDecember2022Member" id="bld_AmendedCreditAgreementDecember2022Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" abstract="true" />
  <xsd:element name="SofrRateBorrowingsMember" id="bld_SofrRateBorrowingsMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" abstract="true" />
  <xsd:element name="SriHoldingsMember" id="bld_SriHoldingsMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" abstract="true" />
  <xsd:element name="RestrictedStockAwardsGrantedFebruary2020Member" id="bld_RestrictedStockAwardsGrantedFebruary2020Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" abstract="true" />
</xsd:schema>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.CAL
<SEQUENCE>7
<FILENAME>bld-20230331_cal.xml
<DESCRIPTION>EX-101.CAL
<TEXT>
<XBRL>
<?xml version="1.0" encoding="us-ascii"?>
<!--XBRL document created with Toppan Merrill Bridge  10.2.5.9 -->
<!--Based on XBRL 2.1-->
<!--Created on: 5/4/2023 5:12:08 PM-->
<!--Modified on: 5/4/2023 5:12:08 PM-->
<link:linkbase xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.xbrl.org/2003/linkbase http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd" xmlns="http://www.xbrl.org/2003/linkbase" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:xbrli="http://www.xbrl.org/2003/instance">
  <roleRef xlink:type="simple" xlink:href="bld-20230331.xsd#StatementCondensedConsolidatedBalanceSheets" roleURI="http://www.topbuild.com/role/StatementCondensedConsolidatedBalanceSheets" />
  <roleRef xlink:type="simple" xlink:href="bld-20230331.xsd#StatementCondensedConsolidatedStatementsOfOperations" roleURI="http://www.topbuild.com/role/StatementCondensedConsolidatedStatementsOfOperations" />
  <roleRef xlink:type="simple" xlink:href="bld-20230331.xsd#StatementCondensedConsolidatedStatementsOfComprehensiveIncome" roleURI="http://www.topbuild.com/role/StatementCondensedConsolidatedStatementsOfComprehensiveIncome" />
  <roleRef xlink:type="simple" xlink:href="bld-20230331.xsd#StatementCondensedConsolidatedStatementsOfCashFlows" roleURI="http://www.topbuild.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" />
  <roleRef xlink:type="simple" xlink:href="bld-20230331.xsd#DisclosureGoodwillAndOtherIntangiblesGoodwillDetails" roleURI="http://www.topbuild.com/role/DisclosureGoodwillAndOtherIntangiblesGoodwillDetails" />
  <roleRef xlink:type="simple" xlink:href="bld-20230331.xsd#DisclosureGoodwillAndOtherIntangiblesOtherIntangibleAssetsDetails" roleURI="http://www.topbuild.com/role/DisclosureGoodwillAndOtherIntangiblesOtherIntangibleAssetsDetails" />
  <roleRef xlink:type="simple" xlink:href="bld-20230331.xsd#DisclosureLongTermDebtReconciliationDetails" roleURI="http://www.topbuild.com/role/DisclosureLongTermDebtReconciliationDetails" />
  <roleRef xlink:type="simple" xlink:href="bld-20230331.xsd#DisclosureLongTermDebtReconciliationDetailsCalc2" roleURI="http://www.topbuild.com/role/DisclosureLongTermDebtReconciliationDetailsCalc2" />
  <roleRef xlink:type="simple" xlink:href="bld-20230331.xsd#DisclosureLongTermDebtScheduleOfDebtMaturityDetails" roleURI="http://www.topbuild.com/role/DisclosureLongTermDebtScheduleOfDebtMaturityDetails" />
  <roleRef xlink:type="simple" xlink:href="bld-20230331.xsd#DisclosureLongTermDebtRevolvingFacilityDetails" roleURI="http://www.topbuild.com/role/DisclosureLongTermDebtRevolvingFacilityDetails" />
  <roleRef xlink:type="simple" xlink:href="bld-20230331.xsd#DisclosureNetIncomePerShareCalculationDetails" roleURI="http://www.topbuild.com/role/DisclosureNetIncomePerShareCalculationDetails" />
  <roleRef xlink:type="simple" xlink:href="bld-20230331.xsd#DisclosureShareBasedCompensationActivityDetails" roleURI="http://www.topbuild.com/role/DisclosureShareBasedCompensationActivityDetails" />
  <roleRef xlink:type="simple" xlink:href="bld-20230331.xsd#DisclosureBusinessCombinationsSummaryDetails" roleURI="http://www.topbuild.com/role/DisclosureBusinessCombinationsSummaryDetails" />
  <roleRef xlink:type="simple" xlink:href="bld-20230331.xsd#DisclosureIncomeTaxesDeferredTaxesCalc2" roleURI="http://www.topbuild.com/role/DisclosureIncomeTaxesDeferredTaxesCalc2" />
  <roleRef xlink:type="simple" xlink:href="bld-20230331.xsd#DisclosureAccruedLiabilitiesDetails" roleURI="http://www.topbuild.com/role/DisclosureAccruedLiabilitiesDetails" />
  <roleRef xlink:type="simple" xlink:href="bld-20230331.xsd#DisclosureOtherCommitmentsAndContingenciesDetails" roleURI="http://www.topbuild.com/role/DisclosureOtherCommitmentsAndContingenciesDetails" />
  <calculationLink xlink:role="http://www.topbuild.com/role/StatementCondensedConsolidatedBalanceSheets" xlink:type="extended" xlink:title="00100 - Statement - CONDENSED CONSOLIDATED BALANCE SHEETS">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_Assets" xlink:label="Assets" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AssetsCurrent" xlink:label="us-gaap_AssetsCurrent_638188171260043202" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="Assets" xlink:to="us-gaap_AssetsCurrent_638188171260043202" order="1" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccountsReceivableNetCurrent" xlink:label="us-gaap_AccountsReceivableNetCurrent_638188171260043202" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_AssetsCurrent_638188171260043202" xlink:to="us-gaap_AccountsReceivableNetCurrent_638188171260043202" order="1" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:label="us-gaap_CashAndCashEquivalentsAtCarryingValue_638188171260043202" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_AssetsCurrent_638188171260043202" xlink:to="us-gaap_CashAndCashEquivalentsAtCarryingValue_638188171260043202" order="2" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InventoryNet" xlink:label="us-gaap_InventoryNet_638188171260053206" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_AssetsCurrent_638188171260043202" xlink:to="us-gaap_InventoryNet_638188171260053206" order="3" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PrepaidExpenseAndOtherAssetsCurrent" xlink:label="us-gaap_PrepaidExpenseAndOtherAssetsCurrent_638188171260053206" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_AssetsCurrent_638188171260043202" xlink:to="us-gaap_PrepaidExpenseAndOtherAssetsCurrent_638188171260053206" order="4" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_Goodwill" xlink:label="us-gaap_Goodwill_638188171260053206" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="Assets" xlink:to="us-gaap_Goodwill_638188171260053206" order="2" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsNet" xlink:label="us-gaap_FiniteLivedIntangibleAssetsNet_638188171260053206" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="Assets" xlink:to="us-gaap_FiniteLivedIntangibleAssetsNet_638188171260053206" order="3" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherAssetsNoncurrent" xlink:label="us-gaap_OtherAssetsNoncurrent_638188171260053206" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="Assets" xlink:to="us-gaap_OtherAssetsNoncurrent_638188171260053206" order="4" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLeaseRightOfUseAsset" xlink:label="us-gaap_OperatingLeaseRightOfUseAsset_638188171260053206" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="Assets" xlink:to="us-gaap_OperatingLeaseRightOfUseAsset_638188171260053206" order="5" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization" xlink:label="us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization_638188171260053206" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="Assets" xlink:to="us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization_638188171260053206" order="6" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LiabilitiesAndStockholdersEquity" xlink:label="LiabilitiesAndStockholdersEquity" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_Liabilities" xlink:label="us-gaap_Liabilities_638188171260053206" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="LiabilitiesAndStockholdersEquity" xlink:to="us-gaap_Liabilities_638188171260053206" order="1" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LiabilitiesCurrent" xlink:label="us-gaap_LiabilitiesCurrent_638188171260063207" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_Liabilities_638188171260053206" xlink:to="us-gaap_LiabilitiesCurrent_638188171260063207" order="1" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccountsPayableCurrent" xlink:label="us-gaap_AccountsPayableCurrent_638188171260063207" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LiabilitiesCurrent_638188171260063207" xlink:to="us-gaap_AccountsPayableCurrent_638188171260063207" order="1" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLeaseLiabilityCurrent" xlink:label="us-gaap_OperatingLeaseLiabilityCurrent_638188171260063207" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LiabilitiesCurrent_638188171260063207" xlink:to="us-gaap_OperatingLeaseLiabilityCurrent_638188171260063207" order="2" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongTermDebtCurrent" xlink:label="us-gaap_LongTermDebtCurrent_638188171260063207" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LiabilitiesCurrent_638188171260063207" xlink:to="us-gaap_LongTermDebtCurrent_638188171260063207" order="3" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="bld-20230331.xsd#bld_AccruedLiabilitiesAndEmployeeRelatedLiabilitiesCurrent" xlink:label="bld_AccruedLiabilitiesAndEmployeeRelatedLiabilitiesCurrent_638188171260063207" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LiabilitiesCurrent_638188171260063207" xlink:to="bld_AccruedLiabilitiesAndEmployeeRelatedLiabilitiesCurrent_638188171260063207" order="4" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FinanceLeaseLiabilityCurrent" xlink:label="us-gaap_FinanceLeaseLiabilityCurrent_638188171260063207" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LiabilitiesCurrent_638188171260063207" xlink:to="us-gaap_FinanceLeaseLiabilityCurrent_638188171260063207" order="5" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongTermDebtNoncurrent" xlink:label="us-gaap_LongTermDebtNoncurrent_638188171260063207" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_Liabilities_638188171260053206" xlink:to="us-gaap_LongTermDebtNoncurrent_638188171260063207" order="2" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredIncomeTaxLiabilitiesNet" xlink:label="us-gaap_DeferredIncomeTaxLiabilitiesNet_638188171260063207" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_Liabilities_638188171260053206" xlink:to="us-gaap_DeferredIncomeTaxLiabilitiesNet_638188171260063207" order="3" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccruedInsuranceNoncurrent" xlink:label="us-gaap_AccruedInsuranceNoncurrent_638188171260073201" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_Liabilities_638188171260053206" xlink:to="us-gaap_AccruedInsuranceNoncurrent_638188171260073201" order="4" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLeaseLiabilityNoncurrent" xlink:label="us-gaap_OperatingLeaseLiabilityNoncurrent_638188171260073201" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_Liabilities_638188171260053206" xlink:to="us-gaap_OperatingLeaseLiabilityNoncurrent_638188171260073201" order="5" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherLiabilitiesNoncurrent" xlink:label="us-gaap_OtherLiabilitiesNoncurrent_638188171260073201" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_Liabilities_638188171260053206" xlink:to="us-gaap_OtherLiabilitiesNoncurrent_638188171260073201" order="6" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FinanceLeaseLiabilityNoncurrent" xlink:label="us-gaap_FinanceLeaseLiabilityNoncurrent_638188171260073201" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_Liabilities_638188171260053206" xlink:to="us-gaap_FinanceLeaseLiabilityNoncurrent_638188171260073201" order="7" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockholdersEquity" xlink:label="us-gaap_StockholdersEquity_638188171260073201" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="LiabilitiesAndStockholdersEquity" xlink:to="us-gaap_StockholdersEquity_638188171260073201" order="2" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AdditionalPaidInCapitalCommonStock" xlink:label="us-gaap_AdditionalPaidInCapitalCommonStock_638188171260073201" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_StockholdersEquity_638188171260073201" xlink:to="us-gaap_AdditionalPaidInCapitalCommonStock_638188171260073201" order="1" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax" xlink:label="us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax_638188171260073201" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_StockholdersEquity_638188171260073201" xlink:to="us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax_638188171260073201" order="2" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RetainedEarningsAccumulatedDeficit" xlink:label="us-gaap_RetainedEarningsAccumulatedDeficit_638188171260083203" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_StockholdersEquity_638188171260073201" xlink:to="us-gaap_RetainedEarningsAccumulatedDeficit_638188171260083203" order="3" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PreferredStockValue" xlink:label="us-gaap_PreferredStockValue_638188171260083203" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_StockholdersEquity_638188171260073201" xlink:to="us-gaap_PreferredStockValue_638188171260083203" order="4" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommonStockValue" xlink:label="us-gaap_CommonStockValue_638188171260083203" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_StockholdersEquity_638188171260073201" xlink:to="us-gaap_CommonStockValue_638188171260083203" order="5" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TreasuryStockCommonValue" xlink:label="us-gaap_TreasuryStockCommonValue_638188171260083203" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_StockholdersEquity_638188171260073201" xlink:to="us-gaap_TreasuryStockCommonValue_638188171260083203" order="6" use="optional" weight="-1" priority="2" />
  </calculationLink>
  <calculationLink xlink:role="http://www.topbuild.com/role/StatementCondensedConsolidatedStatementsOfOperations" xlink:type="extended" xlink:title="00200 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF OPERATIONS">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetIncomeLoss" xlink:label="us-gaap_NetIncomeLoss" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_638188171260083203" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetIncomeLoss" xlink:to="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_638188171260083203" order="1" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NonoperatingIncomeExpense" xlink:label="us-gaap_NonoperatingIncomeExpense_638188171260093206" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_638188171260083203" xlink:to="us-gaap_NonoperatingIncomeExpense_638188171260093206" order="1" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherNonoperatingIncomeExpense" xlink:label="us-gaap_OtherNonoperatingIncomeExpense_638188171260093206" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NonoperatingIncomeExpense_638188171260093206" xlink:to="us-gaap_OtherNonoperatingIncomeExpense_638188171260093206" order="1" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InterestExpense" xlink:label="us-gaap_InterestExpense_638188171260093206" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NonoperatingIncomeExpense_638188171260093206" xlink:to="us-gaap_InterestExpense_638188171260093206" order="2" use="optional" weight="-1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingIncomeLoss" xlink:label="us-gaap_OperatingIncomeLoss_638188171260093206" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_638188171260083203" xlink:to="us-gaap_OperatingIncomeLoss_638188171260093206" order="2" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SellingGeneralAndAdministrativeExpense" xlink:label="us-gaap_SellingGeneralAndAdministrativeExpense_638188171260093206" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_OperatingIncomeLoss_638188171260093206" xlink:to="us-gaap_SellingGeneralAndAdministrativeExpense_638188171260093206" order="1" use="optional" weight="-1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GrossProfit" xlink:label="us-gaap_GrossProfit_638188171260093206" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_OperatingIncomeLoss_638188171260093206" xlink:to="us-gaap_GrossProfit_638188171260093206" order="2" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" xlink:label="us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax_638188171260093206" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_GrossProfit_638188171260093206" xlink:to="us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax_638188171260093206" order="1" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CostOfGoodsAndServicesSold" xlink:label="us-gaap_CostOfGoodsAndServicesSold_638188171260093206" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_GrossProfit_638188171260093206" xlink:to="us-gaap_CostOfGoodsAndServicesSold_638188171260093206" order="2" use="optional" weight="-1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeTaxExpenseBenefit" xlink:label="us-gaap_IncomeTaxExpenseBenefit_638188171260093206" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetIncomeLoss" xlink:to="us-gaap_IncomeTaxExpenseBenefit_638188171260093206" order="2" use="optional" weight="-1" />
  </calculationLink>
  <calculationLink xlink:role="http://www.topbuild.com/role/StatementCondensedConsolidatedStatementsOfComprehensiveIncome" xlink:type="extended" xlink:title="00300 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF COMPREHENSIVE INCOME">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ComprehensiveIncomeNetOfTax" xlink:label="us-gaap_ComprehensiveIncomeNetOfTax_1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetIncomeLoss" xlink:label="us-gaap_NetIncomeLoss_638188171260103200" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_ComprehensiveIncomeNetOfTax_1" xlink:to="us-gaap_NetIncomeLoss_638188171260103200" order="1" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax" xlink:label="us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax_638188171260103200" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_ComprehensiveIncomeNetOfTax_1" xlink:to="us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax_638188171260103200" order="2" use="optional" weight="1" />
  </calculationLink>
  <calculationLink xlink:role="http://www.topbuild.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" xlink:type="extended" xlink:title="00400 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF CASH FLOWS">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:label="us-gaap_NetCashProvidedByUsedInFinancingActivities_638188171260103200" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:to="us-gaap_NetCashProvidedByUsedInFinancingActivities_638188171260103200" order="1" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProceedsFromStockOptionsExercised" xlink:label="us-gaap_ProceedsFromStockOptionsExercised_638188171260103200" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivities_638188171260103200" xlink:to="us-gaap_ProceedsFromStockOptionsExercised_638188171260103200" order="1" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation" xlink:label="us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation_638188171260103200" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivities_638188171260103200" xlink:to="us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation_638188171260103200" order="2" use="optional" weight="-1" priority="3" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PaymentsForRepurchaseOfCommonStock" xlink:label="us-gaap_PaymentsForRepurchaseOfCommonStock_638188171260103200" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivities_638188171260103200" xlink:to="us-gaap_PaymentsForRepurchaseOfCommonStock_638188171260103200" order="3" use="optional" weight="-1" priority="3" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PaymentForContingentConsiderationLiabilityFinancingActivities" xlink:label="us-gaap_PaymentForContingentConsiderationLiabilityFinancingActivities_638188171260103200" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivities_638188171260103200" xlink:to="us-gaap_PaymentForContingentConsiderationLiabilityFinancingActivities_638188171260103200" order="4" use="optional" weight="-1" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RepaymentsOfLongTermDebt" xlink:label="us-gaap_RepaymentsOfLongTermDebt_638188171260103200" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivities_638188171260103200" xlink:to="us-gaap_RepaymentsOfLongTermDebt_638188171260103200" order="5" use="optional" weight="-1" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:label="us-gaap_NetCashProvidedByUsedInInvestingActivities_638188171260113202" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:to="us-gaap_NetCashProvidedByUsedInInvestingActivities_638188171260113202" order="2" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" xlink:label="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment_638188171260113202" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivities_638188171260113202" xlink:to="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment_638188171260113202" order="1" use="optional" weight="-1" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired" xlink:label="us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired_638188171260113202" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivities_638188171260113202" xlink:to="us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired_638188171260113202" order="2" use="optional" weight="-1" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment" xlink:label="us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment_638188171260113202" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivities_638188171260113202" xlink:to="us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment_638188171260113202" order="3" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:label="us-gaap_NetCashProvidedByUsedInOperatingActivities_638188171260113202" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:to="us-gaap_NetCashProvidedByUsedInOperatingActivities_638188171260113202" order="3" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DepreciationDepletionAndAmortization" xlink:label="us-gaap_DepreciationDepletionAndAmortization_638188171260113202" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities_638188171260113202" xlink:to="us-gaap_DepreciationDepletionAndAmortization_638188171260113202" order="1" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensation" xlink:label="us-gaap_ShareBasedCompensation_638188171260113202" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities_638188171260113202" xlink:to="us-gaap_ShareBasedCompensation_638188171260113202" order="2" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GainLossOnSaleOfPropertyPlantEquipment" xlink:label="us-gaap_GainLossOnSaleOfPropertyPlantEquipment_638188171260113202" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities_638188171260113202" xlink:to="us-gaap_GainLossOnSaleOfPropertyPlantEquipment_638188171260113202" order="3" use="optional" weight="-1" priority="3" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AmortizationOfFinancingCosts" xlink:label="us-gaap_AmortizationOfFinancingCosts_638188171260123201" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities_638188171260113202" xlink:to="us-gaap_AmortizationOfFinancingCosts_638188171260123201" order="4" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProvisionForDoubtfulAccounts" xlink:label="us-gaap_ProvisionForDoubtfulAccounts_638188171260123201" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities_638188171260113202" xlink:to="us-gaap_ProvisionForDoubtfulAccounts_638188171260123201" order="5" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InventoryWriteDown" xlink:label="us-gaap_InventoryWriteDown_638188171260123201" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities_638188171260113202" xlink:to="us-gaap_InventoryWriteDown_638188171260123201" order="6" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInAccountsReceivable" xlink:label="us-gaap_IncreaseDecreaseInAccountsReceivable_638188171260123201" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities_638188171260113202" xlink:to="us-gaap_IncreaseDecreaseInAccountsReceivable_638188171260123201" order="7" use="optional" weight="-1" priority="3" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInInventories" xlink:label="us-gaap_IncreaseDecreaseInInventories_638188171260123201" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities_638188171260113202" xlink:to="us-gaap_IncreaseDecreaseInInventories_638188171260123201" order="8" use="optional" weight="-1" priority="3" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" xlink:label="us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets_638188171260123201" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities_638188171260113202" xlink:to="us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets_638188171260123201" order="9" use="optional" weight="-1" priority="3" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInAccountsPayable" xlink:label="us-gaap_IncreaseDecreaseInAccountsPayable_638188171260123201" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities_638188171260113202" xlink:to="us-gaap_IncreaseDecreaseInAccountsPayable_638188171260123201" order="10" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInAccruedLiabilities" xlink:label="us-gaap_IncreaseDecreaseInAccruedLiabilities_638188171260133203" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities_638188171260113202" xlink:to="us-gaap_IncreaseDecreaseInAccruedLiabilities_638188171260133203" order="11" use="optional" weight="1" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInDeferredIncomeTaxes" xlink:label="us-gaap_IncreaseDecreaseInDeferredIncomeTaxes_638188171260133203" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities_638188171260113202" xlink:to="us-gaap_IncreaseDecreaseInDeferredIncomeTaxes_638188171260133203" order="12" use="optional" weight="-1" priority="3" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherOperatingActivitiesCashFlowStatement" xlink:label="us-gaap_OtherOperatingActivitiesCashFlowStatement_638188171260133203" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities_638188171260113202" xlink:to="us-gaap_OtherOperatingActivitiesCashFlowStatement_638188171260133203" order="13" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProfitLoss" xlink:label="us-gaap_ProfitLoss_638188171260133203" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities_638188171260113202" xlink:to="us-gaap_ProfitLoss_638188171260133203" order="14" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:label="us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_638188171260133203" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:to="us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_638188171260133203" order="4" use="optional" weight="1" />
  </calculationLink>
  <calculationLink xlink:role="http://www.topbuild.com/role/DisclosureGoodwillAndOtherIntangiblesGoodwillDetails" xlink:type="extended" xlink:title="40401 - Disclosure - Goodwill and Other Intangibles - Goodwill (Details)">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_Goodwill" xlink:label="Goodwill" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GoodwillImpairedAccumulatedImpairmentLoss" xlink:label="us-gaap_GoodwillImpairedAccumulatedImpairmentLoss_638188171260143204" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="Goodwill" xlink:to="us-gaap_GoodwillImpairedAccumulatedImpairmentLoss_638188171260143204" order="1" use="optional" weight="-1" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GoodwillGross" xlink:label="us-gaap_GoodwillGross_638188171260143204" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="Goodwill" xlink:to="us-gaap_GoodwillGross_638188171260143204" order="2" use="optional" weight="1" priority="2" />
  </calculationLink>
  <calculationLink xlink:role="http://www.topbuild.com/role/DisclosureGoodwillAndOtherIntangiblesOtherIntangibleAssetsDetails" xlink:type="extended" xlink:title="40402 - Disclosure - Goodwill and Other Intangibles - Other intangible assets (Details)">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IntangibleAssetsNetExcludingGoodwill" xlink:label="us-gaap_IntangibleAssetsNetExcludingGoodwill" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsNet" xlink:label="us-gaap_FiniteLivedIntangibleAssetsNet_638188171260143204" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_IntangibleAssetsNetExcludingGoodwill" xlink:to="us-gaap_FiniteLivedIntangibleAssetsNet_638188171260143204" order="1" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsGross" xlink:label="us-gaap_FiniteLivedIntangibleAssetsGross_638188171260143204" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_FiniteLivedIntangibleAssetsNet_638188171260143204" xlink:to="us-gaap_FiniteLivedIntangibleAssetsGross_638188171260143204" order="1" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization_638188171260143204" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_FiniteLivedIntangibleAssetsNet_638188171260143204" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization_638188171260143204" order="2" use="optional" weight="-1" />
  </calculationLink>
  <calculationLink xlink:role="http://www.topbuild.com/role/DisclosureLongTermDebtReconciliationDetails" xlink:type="extended" xlink:title="40501 - Disclosure - Long-Term Debt - Reconciliation (Details)">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongTermDebt" xlink:label="us-gaap_LongTermDebt" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredFinanceCostsNet" xlink:label="us-gaap_DeferredFinanceCostsNet_638188171260143204" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LongTermDebt" xlink:to="us-gaap_DeferredFinanceCostsNet_638188171260143204" order="1" use="optional" weight="-1" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentCarryingAmount" xlink:label="us-gaap_DebtInstrumentCarryingAmount_638188171260143204" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LongTermDebt" xlink:to="us-gaap_DebtInstrumentCarryingAmount_638188171260143204" order="2" use="optional" weight="1" priority="2" />
  </calculationLink>
  <calculationLink xlink:role="http://www.topbuild.com/role/DisclosureLongTermDebtReconciliationDetailsCalc2" xlink:type="extended" xlink:title="40501 - Disclosure - Long-Term Debt - Reconciliation (Details) (Calc2)">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongTermDebt" xlink:label="us-gaap_LongTermDebt" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongTermDebtCurrent" xlink:label="us-gaap_LongTermDebtCurrent_638188171260153203" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LongTermDebt" xlink:to="us-gaap_LongTermDebtCurrent_638188171260153203" order="1" use="optional" weight="1" priority="3" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongTermDebtNoncurrent" xlink:label="us-gaap_LongTermDebtNoncurrent_638188171260153203" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LongTermDebt" xlink:to="us-gaap_LongTermDebtNoncurrent_638188171260153203" order="2" use="optional" weight="1" priority="3" />
  </calculationLink>
  <calculationLink xlink:role="http://www.topbuild.com/role/DisclosureLongTermDebtScheduleOfDebtMaturityDetails" xlink:type="extended" xlink:title="40502 - Disclosure - Long-Term Debt - Schedule of debt maturity (Details)">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentCarryingAmount" xlink:label="us-gaap_DebtInstrumentCarryingAmount" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths" xlink:label="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths_638188171260153203" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_DebtInstrumentCarryingAmount" xlink:to="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths_638188171260153203" order="1" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalRemainderOfFiscalYear" xlink:label="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalRemainderOfFiscalYear_638188171260153203" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_DebtInstrumentCarryingAmount" xlink:to="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalRemainderOfFiscalYear_638188171260153203" order="2" use="optional" weight="1" priority="3" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearTwo" xlink:label="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearTwo_638188171260153203" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_DebtInstrumentCarryingAmount" xlink:to="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearTwo_638188171260153203" order="3" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearThree" xlink:label="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearThree_638188171260153203" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_DebtInstrumentCarryingAmount" xlink:to="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearThree_638188171260153203" order="4" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="bld-20230331.xsd#bld_LongTermDebtMaturitiesRepaymentsOfPrincipalAfterYearFour" xlink:label="bld_LongTermDebtMaturitiesRepaymentsOfPrincipalAfterYearFour_638188171260153203" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_DebtInstrumentCarryingAmount" xlink:to="bld_LongTermDebtMaturitiesRepaymentsOfPrincipalAfterYearFour_638188171260153203" order="5" use="optional" weight="1" priority="2" />
  </calculationLink>
  <calculationLink xlink:role="http://www.topbuild.com/role/DisclosureLongTermDebtRevolvingFacilityDetails" xlink:type="extended" xlink:title="40504 - Disclosure - Long-Term Debt - Revolving Facility (Details)">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity" xlink:label="us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity_1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LettersOfCreditOutstandingAmount" xlink:label="us-gaap_LettersOfCreditOutstandingAmount_638188171260163205" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity_1" xlink:to="us-gaap_LettersOfCreditOutstandingAmount_638188171260163205" order="1" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LineOfCreditFacilityCurrentBorrowingCapacity" xlink:label="us-gaap_LineOfCreditFacilityCurrentBorrowingCapacity_638188171260163205" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity_1" xlink:to="us-gaap_LineOfCreditFacilityCurrentBorrowingCapacity_638188171260163205" order="2" use="optional" weight="1" priority="2" />
  </calculationLink>
  <calculationLink xlink:role="http://www.topbuild.com/role/DisclosureNetIncomePerShareCalculationDetails" xlink:type="extended" xlink:title="40901 - Disclosure - Net Income Per Share - Calculation (Details)">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:label="WeightedAverageNumberOfDilutedSharesOutstanding" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:label="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_638188171260163205" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="WeightedAverageNumberOfDilutedSharesOutstanding" xlink:to="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_638188171260163205" order="1" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="bld-20230331.xsd#bld_IncrementalCommonSharesAttributableToDilutiveEffectOfRestrictedStockAwards" xlink:label="bld_IncrementalCommonSharesAttributableToDilutiveEffectOfRestrictedStockAwards_638188171260163205" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="WeightedAverageNumberOfDilutedSharesOutstanding" xlink:to="bld_IncrementalCommonSharesAttributableToDilutiveEffectOfRestrictedStockAwards_638188171260163205" order="2" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="bld-20230331.xsd#bld_IncrementalCommonSharesAttributableToDilutiveEffectOfStockOptions" xlink:label="bld_IncrementalCommonSharesAttributableToDilutiveEffectOfStockOptions_638188171260163205" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="WeightedAverageNumberOfDilutedSharesOutstanding" xlink:to="bld_IncrementalCommonSharesAttributableToDilutiveEffectOfStockOptions_638188171260163205" order="3" use="optional" weight="1" priority="2" />
  </calculationLink>
  <calculationLink xlink:role="http://www.topbuild.com/role/DisclosureShareBasedCompensationActivityDetails" xlink:type="extended" xlink:title="41002 - Disclosure - Share-Based Compensation - Activity (Details)">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized" xlink:label="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions" xlink:label="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions_638188171260163205" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized" xlink:to="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions_638188171260163205" order="1" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions" xlink:label="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions_638188171260173211" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized" xlink:to="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions_638188171260173211" order="2" use="optional" weight="1" priority="2" />
  </calculationLink>
  <calculationLink xlink:role="http://www.topbuild.com/role/DisclosureBusinessCombinationsSummaryDetails" xlink:type="extended" xlink:title="41101 - Disclosure - Business Combinations - Summary (Details)">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_Goodwill" xlink:label="us-gaap_Goodwill_638188171260173211" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet" xlink:to="us-gaap_Goodwill_638188171260173211" order="1" use="optional" weight="1" />
  </calculationLink>
  <calculationLink xlink:role="http://www.topbuild.com/role/DisclosureIncomeTaxesDeferredTaxesCalc2" xlink:type="extended" xlink:title="41211 - Disclosure - Income Taxes - Deferred Taxes (Calc 2)">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredTaxLiabilities" xlink:label="us-gaap_DeferredTaxLiabilities_1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredIncomeTaxLiabilitiesNet" xlink:label="us-gaap_DeferredIncomeTaxLiabilitiesNet_638188171260173211" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_DeferredTaxLiabilities_1" xlink:to="us-gaap_DeferredIncomeTaxLiabilitiesNet_638188171260173211" order="1" use="optional" weight="1" />
  </calculationLink>
  <calculationLink xlink:role="http://www.topbuild.com/role/DisclosureAccruedLiabilitiesDetails" xlink:type="extended" xlink:title="41301 - Disclosure - Accrued Liabilities (Details)">
    <loc xlink:type="locator" xlink:href="bld-20230331.xsd#bld_AccruedLiabilitiesAndEmployeeRelatedLiabilitiesCurrent" xlink:label="bld_AccruedLiabilitiesAndEmployeeRelatedLiabilitiesCurrent" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccruedIncomeTaxesCurrent" xlink:label="us-gaap_AccruedIncomeTaxesCurrent_638188171260173211" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="bld_AccruedLiabilitiesAndEmployeeRelatedLiabilitiesCurrent" xlink:to="us-gaap_AccruedIncomeTaxesCurrent_638188171260173211" order="1" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccruedInsuranceCurrent" xlink:label="us-gaap_AccruedInsuranceCurrent_638188171260173211" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="bld_AccruedLiabilitiesAndEmployeeRelatedLiabilitiesCurrent" xlink:to="us-gaap_AccruedInsuranceCurrent_638188171260173211" order="2" use="optional" weight="1" priority="3" />
    <loc xlink:type="locator" xlink:href="bld-20230331.xsd#bld_AccruedSalesAndPropertyTaxesCurrent" xlink:label="bld_AccruedSalesAndPropertyTaxesCurrent_638188171260183202" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="bld_AccruedLiabilitiesAndEmployeeRelatedLiabilitiesCurrent" xlink:to="bld_AccruedSalesAndPropertyTaxesCurrent_638188171260183202" order="3" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ContractWithCustomerLiabilityCurrent" xlink:label="us-gaap_ContractWithCustomerLiabilityCurrent_638188171260183202" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="bld_AccruedLiabilitiesAndEmployeeRelatedLiabilitiesCurrent" xlink:to="us-gaap_ContractWithCustomerLiabilityCurrent_638188171260183202" order="4" use="optional" weight="1" priority="3" />
    <loc xlink:type="locator" xlink:href="bld-20230331.xsd#bld_AccruedCustomerRebatesCurrent" xlink:label="bld_AccruedCustomerRebatesCurrent_638188171260183202" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="bld_AccruedLiabilitiesAndEmployeeRelatedLiabilitiesCurrent" xlink:to="bld_AccruedCustomerRebatesCurrent_638188171260183202" order="5" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InterestPayableCurrent" xlink:label="us-gaap_InterestPayableCurrent_638188171260183202" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="bld_AccruedLiabilitiesAndEmployeeRelatedLiabilitiesCurrent" xlink:to="us-gaap_InterestPayableCurrent_638188171260183202" order="6" use="optional" weight="1" priority="3" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherAccruedLiabilitiesCurrent" xlink:label="us-gaap_OtherAccruedLiabilitiesCurrent_638188171260183202" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="bld_AccruedLiabilitiesAndEmployeeRelatedLiabilitiesCurrent" xlink:to="us-gaap_OtherAccruedLiabilitiesCurrent_638188171260183202" order="7" use="optional" weight="1" priority="3" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EmployeeRelatedLiabilitiesCurrent" xlink:label="us-gaap_EmployeeRelatedLiabilitiesCurrent_638188171260183202" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="bld_AccruedLiabilitiesAndEmployeeRelatedLiabilitiesCurrent" xlink:to="us-gaap_EmployeeRelatedLiabilitiesCurrent_638188171260183202" order="8" use="optional" weight="1" priority="2" />
  </calculationLink>
  <calculationLink xlink:role="http://www.topbuild.com/role/DisclosureOtherCommitmentsAndContingenciesDetails" xlink:type="extended" xlink:title="41401 - Disclosure - Other Commitments and Contingencies (Details)">
    <loc xlink:type="locator" xlink:href="bld-20230331.xsd#bld_BondsOutstanding" xlink:label="bld_BondsOutstanding" />
    <loc xlink:type="locator" xlink:href="bld-20230331.xsd#bld_LicenseAndInsuranceRelatedAndOtherBondsOutstanding" xlink:label="bld_LicenseAndInsuranceRelatedAndOtherBondsOutstanding_638188171260183202" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="bld_BondsOutstanding" xlink:to="bld_LicenseAndInsuranceRelatedAndOtherBondsOutstanding_638188171260183202" order="1" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="bld-20230331.xsd#bld_PerformanceBondsOutstanding" xlink:label="bld_PerformanceBondsOutstanding_638188171260183202" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="bld_BondsOutstanding" xlink:to="bld_PerformanceBondsOutstanding_638188171260183202" order="2" use="optional" weight="1" priority="2" />
  </calculationLink>
</link:linkbase>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.DEF
<SEQUENCE>8
<FILENAME>bld-20230331_def.xml
<DESCRIPTION>EX-101.DEF
<TEXT>
<XBRL>
<?xml version="1.0" encoding="us-ascii"?>
<!--XBRL document created with Toppan Merrill Bridge  10.2.5.9 -->
<!--Based on XBRL 2.1-->
<!--Created on: 5/4/2023 5:12:08 PM-->
<!--Modified on: 5/4/2023 5:12:08 PM-->
<link:linkbase xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.xbrl.org/2003/linkbase http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd" xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:xbrldt="http://xbrl.org/2005/xbrldt" xmlns:xbrli="http://www.xbrl.org/2003/instance" xmlns:xlink="http://www.w3.org/1999/xlink">
  <roleRef xlink:type="simple" xlink:href="bld-20230331.xsd#StatementCondensedConsolidatedStatementsOfChangesInEquity" roleURI="http://www.topbuild.com/role/StatementCondensedConsolidatedStatementsOfChangesInEquity" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="bld-20230331.xsd#DisclosureShareBasedCompensationTables" roleURI="http://www.topbuild.com/role/DisclosureShareBasedCompensationTables" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="bld-20230331.xsd#DisclosureBusinessCombinationsTables" roleURI="http://www.topbuild.com/role/DisclosureBusinessCombinationsTables" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="bld-20230331.xsd#DisclosureRevenueRecognitionDisaggregationDetails" roleURI="http://www.topbuild.com/role/DisclosureRevenueRecognitionDisaggregationDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="bld-20230331.xsd#DisclosureRevenueRecognitionOtherDetails" roleURI="http://www.topbuild.com/role/DisclosureRevenueRecognitionOtherDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="bld-20230331.xsd#DisclosureGoodwillAndOtherIntangiblesGoodwillDetails" roleURI="http://www.topbuild.com/role/DisclosureGoodwillAndOtherIntangiblesGoodwillDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="bld-20230331.xsd#DisclosureLongTermDebtReconciliationDetails" roleURI="http://www.topbuild.com/role/DisclosureLongTermDebtReconciliationDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="bld-20230331.xsd#DisclosureLongTermDebtScheduleOfDebtMaturityDetails" roleURI="http://www.topbuild.com/role/DisclosureLongTermDebtScheduleOfDebtMaturityDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="bld-20230331.xsd#DisclosureLongTermDebtKeyTermsOfCreditAgreementDetails" roleURI="http://www.topbuild.com/role/DisclosureLongTermDebtKeyTermsOfCreditAgreementDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="bld-20230331.xsd#DisclosureLongTermDebtRevolvingFacilityDetails" roleURI="http://www.topbuild.com/role/DisclosureLongTermDebtRevolvingFacilityDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="bld-20230331.xsd#DisclosureLongTermDebtSeniorNotesAndEquipmentNotesDetails" roleURI="http://www.topbuild.com/role/DisclosureLongTermDebtSeniorNotesAndEquipmentNotesDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="bld-20230331.xsd#DisclosureLongTermDebtOtherDetails" roleURI="http://www.topbuild.com/role/DisclosureLongTermDebtOtherDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="bld-20230331.xsd#DisclosureFairValueMeasurementsDetails" roleURI="http://www.topbuild.com/role/DisclosureFairValueMeasurementsDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="bld-20230331.xsd#DisclosureSegmentInformationDetails" roleURI="http://www.topbuild.com/role/DisclosureSegmentInformationDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="bld-20230331.xsd#DisclosureNetIncomePerShareCalculationDetails" roleURI="http://www.topbuild.com/role/DisclosureNetIncomePerShareCalculationDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="bld-20230331.xsd#DisclosureNetIncomePerShareAntiDilutiveCommonStockEquivalentsDetails" roleURI="http://www.topbuild.com/role/DisclosureNetIncomePerShareAntiDilutiveCommonStockEquivalentsDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="bld-20230331.xsd#DisclosureShareBasedCompensationExpenseDetails" roleURI="http://www.topbuild.com/role/DisclosureShareBasedCompensationExpenseDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="bld-20230331.xsd#DisclosureShareBasedCompensationActivityDetails" roleURI="http://www.topbuild.com/role/DisclosureShareBasedCompensationActivityDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="bld-20230331.xsd#DisclosureBusinessCombinationsSummaryDetails" roleURI="http://www.topbuild.com/role/DisclosureBusinessCombinationsSummaryDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <link:arcroleRef arcroleURI="http://www.esma.europa.eu/xbrl/esef/arcrole/wider-narrower" xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/arcrole/esma-arcrole-2018-11-21.xsd#wider-narrower" />
  <link:roleRef roleURI="http://www.topbuild.com/role/DisclosureStandardAndCustomAxisDomainDefaults" xlink:href="bld-20230331.xsd#DisclosureStandardAndCustomAxisDomainDefaults" xlink:type="simple" />
  <roleRef xlink:type="simple" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-roles-2022.xsd#eedm" roleURI="http://fasb.org/us-gaap/role/eedm/ExtensibleEnumerationLists" xmlns="http://www.xbrl.org/2003/linkbase" />
  <link:arcroleRef arcroleURI="http://xbrl.org/int/dim/arcrole/all" xlink:type="simple" xlink:href="http://www.xbrl.org/2005/xbrldt-2005.xsd#all" />
  <link:arcroleRef arcroleURI="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:type="simple" xlink:href="http://www.xbrl.org/2005/xbrldt-2005.xsd#dimension-domain" />
  <link:arcroleRef arcroleURI="http://xbrl.org/int/dim/arcrole/domain-member" xlink:type="simple" xlink:href="http://www.xbrl.org/2005/xbrldt-2005.xsd#domain-member" />
  <link:arcroleRef arcroleURI="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:type="simple" xlink:href="http://www.xbrl.org/2005/xbrldt-2005.xsd#hypercube-dimension" />
  <link:arcroleRef arcroleURI="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:type="simple" xlink:href="http://www.xbrl.org/2005/xbrldt-2005.xsd#dimension-default" />
  <definitionLink xlink:role="http://fasb.org/us-gaap/role/eedm/ExtensibleEnumerationLists" xlink:type="extended" xlink:title="Extensible Enumeration Domain Members" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AssetsAbstract" xlink:label="us-gaap_AssetsAbstract_1" xlink:title="us-gaap_AssetsAbstract_1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentNet" xlink:label="us-gaap_PropertyPlantAndEquipmentNet_1" xlink:title="us-gaap_PropertyPlantAndEquipmentNet_1" />
    <definitionArc xlink:type="arc" xlink:from="us-gaap_AssetsAbstract_1" xlink:to="us-gaap_PropertyPlantAndEquipmentNet_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:title="definition:us-gaap_AssetsAbstract_1 To us-gaap_PropertyPlantAndEquipmentNet_1" order="1" priority="0" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization" xlink:label="us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization_1" xlink:title="us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization_1" />
    <definitionArc xlink:type="arc" xlink:from="us-gaap_AssetsAbstract_1" xlink:to="us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:title="definition:us-gaap_AssetsAbstract_1 To us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization_1" order="2" priority="0" />
  </definitionLink>
  <link:definitionLink xlink:role="http://www.topbuild.com/role/DisclosureStandardAndCustomAxisDomainDefaults" xlink:type="extended" xlink:title="99900 - Disclosure - Standard And Custom Axis Domain Defaults">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_DocumentInformationDocumentAxis" xlink:label="dei_DocumentInformationDocumentAxis_1" xlink:title="dei_DocumentInformationDocumentAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_DocumentDomain" xlink:label="dei_DocumentDomain_1" xlink:title="dei_DocumentDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="dei_DocumentInformationDocumentAxis_1" xlink:to="dei_DocumentDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:dei_DocumentInformationDocumentAxis_1 To dei_DocumentDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_StatementScenarioAxis" xlink:label="srt_StatementScenarioAxis_1" xlink:title="srt_StatementScenarioAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ScenarioUnspecifiedDomain" xlink:label="srt_ScenarioUnspecifiedDomain_1" xlink:title="srt_ScenarioUnspecifiedDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="srt_StatementScenarioAxis_1" xlink:to="srt_ScenarioUnspecifiedDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:srt_StatementScenarioAxis_1 To srt_ScenarioUnspecifiedDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_CumulativeEffectPeriodOfAdoptionAxis" xlink:label="srt_CumulativeEffectPeriodOfAdoptionAxis_1" xlink:title="srt_CumulativeEffectPeriodOfAdoptionAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_CumulativeEffectPeriodOfAdoptionDomain" xlink:label="srt_CumulativeEffectPeriodOfAdoptionDomain_1" xlink:title="srt_CumulativeEffectPeriodOfAdoptionDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="srt_CumulativeEffectPeriodOfAdoptionAxis_1" xlink:to="srt_CumulativeEffectPeriodOfAdoptionDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:srt_CumulativeEffectPeriodOfAdoptionAxis_1 To srt_CumulativeEffectPeriodOfAdoptionDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementEquityComponentsAxis" xlink:label="us-gaap_StatementEquityComponentsAxis_1" xlink:title="us-gaap_StatementEquityComponentsAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EquityComponentDomain" xlink:label="us-gaap_EquityComponentDomain_1" xlink:title="us-gaap_EquityComponentDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="us-gaap_StatementEquityComponentsAxis_1" xlink:to="us-gaap_EquityComponentDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:us-gaap_StatementEquityComponentsAxis_1 To us-gaap_EquityComponentDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis_1" xlink:title="dei_LegalEntityAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain_1" xlink:title="dei_EntityDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="dei_LegalEntityAxis_1" xlink:to="dei_EntityDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:dei_LegalEntityAxis_1 To dei_EntityDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AwardTypeAxis" xlink:label="us-gaap_AwardTypeAxis_1" xlink:title="us-gaap_AwardTypeAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_1" xlink:title="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="us-gaap_AwardTypeAxis_1" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:us-gaap_AwardTypeAxis_1 To us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="bld-20230331.xsd#bld_VestingCriteriaAxis" xlink:label="bld_VestingCriteriaAxis_1" xlink:title="bld_VestingCriteriaAxis_1" />
    <link:loc xlink:type="locator" xlink:href="bld-20230331.xsd#bld_VestingCriteriaDomain" xlink:label="bld_VestingCriteriaDomain_1" xlink:title="bld_VestingCriteriaDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="bld_VestingCriteriaAxis_1" xlink:to="bld_VestingCriteriaDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:bld_VestingCriteriaAxis_1 To bld_VestingCriteriaDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessAcquisitionAxis" xlink:label="us-gaap_BusinessAcquisitionAxis_1" xlink:title="us-gaap_BusinessAcquisitionAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessAcquisitionAcquireeDomain" xlink:label="us-gaap_BusinessAcquisitionAcquireeDomain_1" xlink:title="us-gaap_BusinessAcquisitionAcquireeDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="us-gaap_BusinessAcquisitionAxis_1" xlink:to="us-gaap_BusinessAcquisitionAcquireeDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:us-gaap_BusinessAcquisitionAxis_1 To us-gaap_BusinessAcquisitionAcquireeDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_RestatementAxis" xlink:label="srt_RestatementAxis_1" xlink:title="srt_RestatementAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_RestatementDomain" xlink:label="srt_RestatementDomain_1" xlink:title="srt_RestatementDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="srt_RestatementAxis_1" xlink:to="srt_RestatementDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:srt_RestatementAxis_1 To srt_RestatementDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AdjustmentsForNewAccountingPronouncementsAxis" xlink:label="us-gaap_AdjustmentsForNewAccountingPronouncementsAxis_1" xlink:title="us-gaap_AdjustmentsForNewAccountingPronouncementsAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TypeOfAdoptionMember" xlink:label="us-gaap_TypeOfAdoptionMember_1" xlink:title="us-gaap_TypeOfAdoptionMember_1" />
    <link:definitionArc xlink:type="arc" xlink:from="us-gaap_AdjustmentsForNewAccountingPronouncementsAxis_1" xlink:to="us-gaap_TypeOfAdoptionMember_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:us-gaap_AdjustmentsForNewAccountingPronouncementsAxis_1 To us-gaap_TypeOfAdoptionMember_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementBusinessSegmentsAxis" xlink:label="us-gaap_StatementBusinessSegmentsAxis_1" xlink:title="us-gaap_StatementBusinessSegmentsAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SegmentDomain" xlink:label="us-gaap_SegmentDomain_1" xlink:title="us-gaap_SegmentDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="us-gaap_StatementBusinessSegmentsAxis_1" xlink:to="us-gaap_SegmentDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:us-gaap_StatementBusinessSegmentsAxis_1 To us-gaap_SegmentDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:label="us-gaap_PropertyPlantAndEquipmentByTypeAxis_1" xlink:title="us-gaap_PropertyPlantAndEquipmentByTypeAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:label="us-gaap_PropertyPlantAndEquipmentTypeDomain_1" xlink:title="us-gaap_PropertyPlantAndEquipmentTypeDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="us-gaap_PropertyPlantAndEquipmentByTypeAxis_1" xlink:to="us-gaap_PropertyPlantAndEquipmentTypeDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:us-gaap_PropertyPlantAndEquipmentByTypeAxis_1 To us-gaap_PropertyPlantAndEquipmentTypeDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_RangeAxis" xlink:label="srt_RangeAxis_1" xlink:title="srt_RangeAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_RangeMember" xlink:label="srt_RangeMember_1" xlink:title="srt_RangeMember_1" />
    <link:definitionArc xlink:type="arc" xlink:from="srt_RangeAxis_1" xlink:to="srt_RangeMember_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:srt_RangeAxis_1 To srt_RangeMember_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ConsolidationItemsAxis" xlink:label="srt_ConsolidationItemsAxis_1" xlink:title="srt_ConsolidationItemsAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ConsolidationItemsDomain" xlink:label="srt_ConsolidationItemsDomain_1" xlink:title="srt_ConsolidationItemsDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="srt_ConsolidationItemsAxis_1" xlink:to="srt_ConsolidationItemsDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:srt_ConsolidationItemsAxis_1 To srt_ConsolidationItemsDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_MajorCustomersAxis" xlink:label="srt_MajorCustomersAxis_1" xlink:title="srt_MajorCustomersAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_NameOfMajorCustomerDomain" xlink:label="srt_NameOfMajorCustomerDomain_1" xlink:title="srt_NameOfMajorCustomerDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="srt_MajorCustomersAxis_1" xlink:to="srt_NameOfMajorCustomerDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:srt_MajorCustomersAxis_1 To srt_NameOfMajorCustomerDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ProductOrServiceAxis" xlink:label="srt_ProductOrServiceAxis_1" xlink:title="srt_ProductOrServiceAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ProductsAndServicesDomain" xlink:label="srt_ProductsAndServicesDomain_1" xlink:title="srt_ProductsAndServicesDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="srt_ProductOrServiceAxis_1" xlink:to="srt_ProductsAndServicesDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:srt_ProductOrServiceAxis_1 To srt_ProductsAndServicesDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BalanceSheetLocationAxis" xlink:label="us-gaap_BalanceSheetLocationAxis_1" xlink:title="us-gaap_BalanceSheetLocationAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BalanceSheetLocationDomain" xlink:label="us-gaap_BalanceSheetLocationDomain_1" xlink:title="us-gaap_BalanceSheetLocationDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="us-gaap_BalanceSheetLocationAxis_1" xlink:to="us-gaap_BalanceSheetLocationDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:us-gaap_BalanceSheetLocationAxis_1 To us-gaap_BalanceSheetLocationDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:label="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_1" xlink:title="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:label="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_1" xlink:title="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_1" xlink:to="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_1 To us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongtermDebtTypeAxis" xlink:label="us-gaap_LongtermDebtTypeAxis_1" xlink:title="us-gaap_LongtermDebtTypeAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongtermDebtTypeDomain" xlink:label="us-gaap_LongtermDebtTypeDomain_1" xlink:title="us-gaap_LongtermDebtTypeDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="us-gaap_LongtermDebtTypeAxis_1" xlink:to="us-gaap_LongtermDebtTypeDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:us-gaap_LongtermDebtTypeAxis_1 To us-gaap_LongtermDebtTypeDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentAxis" xlink:label="us-gaap_DebtInstrumentAxis_1" xlink:title="us-gaap_DebtInstrumentAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentNameDomain" xlink:label="us-gaap_DebtInstrumentNameDomain_1" xlink:title="us-gaap_DebtInstrumentNameDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="us-gaap_DebtInstrumentAxis_1" xlink:to="us-gaap_DebtInstrumentNameDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:us-gaap_DebtInstrumentAxis_1 To us-gaap_DebtInstrumentNameDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShortTermDebtTypeAxis" xlink:label="us-gaap_ShortTermDebtTypeAxis_1" xlink:title="us-gaap_ShortTermDebtTypeAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShortTermDebtTypeDomain" xlink:label="us-gaap_ShortTermDebtTypeDomain_1" xlink:title="us-gaap_ShortTermDebtTypeDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="us-gaap_ShortTermDebtTypeAxis_1" xlink:to="us-gaap_ShortTermDebtTypeDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:us-gaap_ShortTermDebtTypeAxis_1 To us-gaap_ShortTermDebtTypeDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CreditFacilityAxis" xlink:label="us-gaap_CreditFacilityAxis_1" xlink:title="us-gaap_CreditFacilityAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CreditFacilityDomain" xlink:label="us-gaap_CreditFacilityDomain_1" xlink:title="us-gaap_CreditFacilityDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="us-gaap_CreditFacilityAxis_1" xlink:to="us-gaap_CreditFacilityDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:us-gaap_CreditFacilityAxis_1 To us-gaap_CreditFacilityDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_VariableRateAxis" xlink:label="us-gaap_VariableRateAxis_1" xlink:title="us-gaap_VariableRateAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_VariableRateDomain" xlink:label="us-gaap_VariableRateDomain_1" xlink:title="us-gaap_VariableRateDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="us-gaap_VariableRateAxis_1" xlink:to="us-gaap_VariableRateDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:us-gaap_VariableRateAxis_1 To us-gaap_VariableRateDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentRedemptionPeriodAxis" xlink:label="us-gaap_DebtInstrumentRedemptionPeriodAxis_1" xlink:title="us-gaap_DebtInstrumentRedemptionPeriodAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentRedemptionPeriodDomain" xlink:label="us-gaap_DebtInstrumentRedemptionPeriodDomain_1" xlink:title="us-gaap_DebtInstrumentRedemptionPeriodDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="us-gaap_DebtInstrumentRedemptionPeriodAxis_1" xlink:to="us-gaap_DebtInstrumentRedemptionPeriodDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:us-gaap_DebtInstrumentRedemptionPeriodAxis_1 To us-gaap_DebtInstrumentRedemptionPeriodDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="bld-20230331.xsd#bld_DebtAgreementTermsAxis" xlink:label="bld_DebtAgreementTermsAxis_1" xlink:title="bld_DebtAgreementTermsAxis_1" />
    <link:loc xlink:type="locator" xlink:href="bld-20230331.xsd#bld_DebtAgreementTermsDomain" xlink:label="bld_DebtAgreementTermsDomain_1" xlink:title="bld_DebtAgreementTermsDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="bld_DebtAgreementTermsAxis_1" xlink:to="bld_DebtAgreementTermsDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:bld_DebtAgreementTermsAxis_1 To bld_DebtAgreementTermsDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueByMeasurementFrequencyAxis" xlink:label="us-gaap_FairValueByMeasurementFrequencyAxis_1" xlink:title="us-gaap_FairValueByMeasurementFrequencyAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueMeasurementFrequencyDomain" xlink:label="us-gaap_FairValueMeasurementFrequencyDomain_1" xlink:title="us-gaap_FairValueMeasurementFrequencyDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="us-gaap_FairValueByMeasurementFrequencyAxis_1" xlink:to="us-gaap_FairValueMeasurementFrequencyDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:us-gaap_FairValueByMeasurementFrequencyAxis_1 To us-gaap_FairValueMeasurementFrequencyDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueByFairValueHierarchyLevelAxis" xlink:label="us-gaap_FairValueByFairValueHierarchyLevelAxis_1" xlink:title="us-gaap_FairValueByFairValueHierarchyLevelAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueMeasurementsFairValueHierarchyDomain" xlink:label="us-gaap_FairValueMeasurementsFairValueHierarchyDomain_1" xlink:title="us-gaap_FairValueMeasurementsFairValueHierarchyDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="us-gaap_FairValueByFairValueHierarchyLevelAxis_1" xlink:to="us-gaap_FairValueMeasurementsFairValueHierarchyDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:us-gaap_FairValueByFairValueHierarchyLevelAxis_1 To us-gaap_FairValueMeasurementsFairValueHierarchyDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FinancialInstrumentAxis" xlink:label="us-gaap_FinancialInstrumentAxis_1" xlink:title="us-gaap_FinancialInstrumentAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain" xlink:label="us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_1" xlink:title="us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="us-gaap_FinancialInstrumentAxis_1" xlink:to="us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:us-gaap_FinancialInstrumentAxis_1 To us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RetirementPlanNameAxis" xlink:label="us-gaap_RetirementPlanNameAxis_1" xlink:title="us-gaap_RetirementPlanNameAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RetirementPlanNameDomain" xlink:label="us-gaap_RetirementPlanNameDomain_1" xlink:title="us-gaap_RetirementPlanNameDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="us-gaap_RetirementPlanNameAxis_1" xlink:to="us-gaap_RetirementPlanNameDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:us-gaap_RetirementPlanNameAxis_1 To us-gaap_RetirementPlanNameDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_LitigationCaseAxis" xlink:label="srt_LitigationCaseAxis_1" xlink:title="srt_LitigationCaseAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_LitigationCaseTypeDomain" xlink:label="srt_LitigationCaseTypeDomain_1" xlink:title="srt_LitigationCaseTypeDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="srt_LitigationCaseAxis_1" xlink:to="srt_LitigationCaseTypeDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:srt_LitigationCaseAxis_1 To srt_LitigationCaseTypeDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RelatedPartyTransactionsByRelatedPartyAxis" xlink:label="us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_1" xlink:title="us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RelatedPartyDomain" xlink:label="us-gaap_RelatedPartyDomain_1" xlink:title="us-gaap_RelatedPartyDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_1" xlink:to="us-gaap_RelatedPartyDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_1 To us-gaap_RelatedPartyDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis" xlink:label="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_1" xlink:title="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AntidilutiveSecuritiesNameDomain" xlink:label="us-gaap_AntidilutiveSecuritiesNameDomain_1" xlink:title="us-gaap_AntidilutiveSecuritiesNameDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_1" xlink:to="us-gaap_AntidilutiveSecuritiesNameDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_1 To us-gaap_AntidilutiveSecuritiesNameDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PlanNameAxis" xlink:label="us-gaap_PlanNameAxis_1" xlink:title="us-gaap_PlanNameAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PlanNameDomain" xlink:label="us-gaap_PlanNameDomain_1" xlink:title="us-gaap_PlanNameDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="us-gaap_PlanNameAxis_1" xlink:to="us-gaap_PlanNameDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:us-gaap_PlanNameAxis_1 To us-gaap_PlanNameDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeStatementLocationAxis" xlink:label="us-gaap_IncomeStatementLocationAxis_1" xlink:title="us-gaap_IncomeStatementLocationAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeStatementLocationDomain" xlink:label="us-gaap_IncomeStatementLocationDomain_1" xlink:title="us-gaap_IncomeStatementLocationDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="us-gaap_IncomeStatementLocationAxis_1" xlink:to="us-gaap_IncomeStatementLocationDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:us-gaap_IncomeStatementLocationAxis_1 To us-gaap_IncomeStatementLocationDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="bld-20230331.xsd#bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeAxis" xlink:label="bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeAxis_1" xlink:title="bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeAxis_1" />
    <link:loc xlink:type="locator" xlink:href="bld-20230331.xsd#bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeDomain" xlink:label="bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeDomain_1" xlink:title="bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeAxis_1" xlink:to="bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeAxis_1 To bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SubsequentEventTypeAxis" xlink:label="us-gaap_SubsequentEventTypeAxis_1" xlink:title="us-gaap_SubsequentEventTypeAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SubsequentEventTypeDomain" xlink:label="us-gaap_SubsequentEventTypeDomain_1" xlink:title="us-gaap_SubsequentEventTypeDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="us-gaap_SubsequentEventTypeAxis_1" xlink:to="us-gaap_SubsequentEventTypeDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:us-gaap_SubsequentEventTypeAxis_1 To us-gaap_SubsequentEventTypeDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueByLiabilityClassAxis" xlink:label="us-gaap_FairValueByLiabilityClassAxis_1" xlink:title="us-gaap_FairValueByLiabilityClassAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationByLiabilityClassDomain" xlink:label="us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationByLiabilityClassDomain_1" xlink:title="us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationByLiabilityClassDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="us-gaap_FairValueByLiabilityClassAxis_1" xlink:to="us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationByLiabilityClassDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:us-gaap_FairValueByLiabilityClassAxis_1 To us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationByLiabilityClassDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareRepurchaseProgramAxis" xlink:label="us-gaap_ShareRepurchaseProgramAxis_1" xlink:title="us-gaap_ShareRepurchaseProgramAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareRepurchaseProgramDomain" xlink:label="us-gaap_ShareRepurchaseProgramDomain_1" xlink:title="us-gaap_ShareRepurchaseProgramDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="us-gaap_ShareRepurchaseProgramAxis_1" xlink:to="us-gaap_ShareRepurchaseProgramDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:us-gaap_ShareRepurchaseProgramAxis_1 To us-gaap_ShareRepurchaseProgramDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RestructuringPlanAxis" xlink:label="us-gaap_RestructuringPlanAxis_1" xlink:title="us-gaap_RestructuringPlanAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RestructuringPlanDomain" xlink:label="us-gaap_RestructuringPlanDomain_1" xlink:title="us-gaap_RestructuringPlanDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="us-gaap_RestructuringPlanAxis_1" xlink:to="us-gaap_RestructuringPlanDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:us-gaap_RestructuringPlanAxis_1 To us-gaap_RestructuringPlanDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisposalGroupClassificationAxis" xlink:label="us-gaap_DisposalGroupClassificationAxis_1" xlink:title="us-gaap_DisposalGroupClassificationAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisposalGroupClassificationDomain" xlink:label="us-gaap_DisposalGroupClassificationDomain_1" xlink:title="us-gaap_DisposalGroupClassificationDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="us-gaap_DisposalGroupClassificationAxis_1" xlink:to="us-gaap_DisposalGroupClassificationDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:us-gaap_DisposalGroupClassificationAxis_1 To us-gaap_DisposalGroupClassificationDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RestructuringCostAndReserveAxis" xlink:label="us-gaap_RestructuringCostAndReserveAxis_1" xlink:title="us-gaap_RestructuringCostAndReserveAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TypeOfRestructuringDomain" xlink:label="us-gaap_TypeOfRestructuringDomain_1" xlink:title="us-gaap_TypeOfRestructuringDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="us-gaap_RestructuringCostAndReserveAxis_1" xlink:to="us-gaap_TypeOfRestructuringDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:us-gaap_RestructuringCostAndReserveAxis_1 To us-gaap_TypeOfRestructuringDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ValuationAllowancesAndReservesTypeAxis" xlink:label="us-gaap_ValuationAllowancesAndReservesTypeAxis_1" xlink:title="us-gaap_ValuationAllowancesAndReservesTypeAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ValuationAllowancesAndReservesDomain" xlink:label="us-gaap_ValuationAllowancesAndReservesDomain_1" xlink:title="us-gaap_ValuationAllowancesAndReservesDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="us-gaap_ValuationAllowancesAndReservesTypeAxis_1" xlink:to="us-gaap_ValuationAllowancesAndReservesDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:us-gaap_ValuationAllowancesAndReservesTypeAxis_1 To us-gaap_ValuationAllowancesAndReservesDomain_1" order="1" />
  </link:definitionLink>
  <definitionLink xlink:role="http://www.topbuild.com/role/StatementCondensedConsolidatedStatementsOfChangesInEquity" xlink:type="extended" xlink:title="00500 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF CHANGES IN EQUITY" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementEquityComponentsAxis" xlink:label="us-gaap_StatementEquityComponentsAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementEquityComponentsAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EquityComponentDomain" xlink:label="us-gaap_EquityComponentDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_StatementEquityComponentsAxis" xlink:to="us-gaap_EquityComponentDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommonStockMember" xlink:label="us-gaap_CommonStockMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_EquityComponentDomain" xlink:to="us-gaap_CommonStockMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TreasuryStockCommonMember" xlink:label="us-gaap_TreasuryStockCommonMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_EquityComponentDomain" xlink:to="us-gaap_TreasuryStockCommonMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AdditionalPaidInCapitalMember" xlink:label="us-gaap_AdditionalPaidInCapitalMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_EquityComponentDomain" xlink:to="us-gaap_AdditionalPaidInCapitalMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RetainedEarningsMember" xlink:label="us-gaap_RetainedEarningsMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_EquityComponentDomain" xlink:to="us-gaap_RetainedEarningsMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeMember" xlink:label="us-gaap_AccumulatedOtherComprehensiveIncomeMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="us-gaap_EquityComponentDomain" xlink:to="us-gaap_AccumulatedOtherComprehensiveIncomeMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInStockholdersEquityRollForward" xlink:label="us-gaap_IncreaseDecreaseInStockholdersEquityRollForward" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_IncreaseDecreaseInStockholdersEquityRollForward" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockholdersEquity" xlink:label="us-gaap_StockholdersEquity" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_IncreaseDecreaseInStockholdersEquityRollForward" xlink:to="us-gaap_StockholdersEquity" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetIncomeLoss" xlink:label="us-gaap_NetIncomeLoss" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_IncreaseDecreaseInStockholdersEquityRollForward" xlink:to="us-gaap_NetIncomeLoss" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" xlink:label="us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_IncreaseDecreaseInStockholdersEquityRollForward" xlink:to="us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardGross" xlink:label="us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardGross" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_IncreaseDecreaseInStockholdersEquityRollForward" xlink:to="us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardGross" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="bld-20230331.xsd#bld_TreasuryStockValueAcquiredCostMethodShareRepurchaseProgram" xlink:label="bld_TreasuryStockValueAcquiredCostMethodShareRepurchaseProgram" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="us-gaap_IncreaseDecreaseInStockholdersEquityRollForward" xlink:to="bld_TreasuryStockValueAcquiredCostMethodShareRepurchaseProgram" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation" xlink:label="us-gaap_AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="6" xlink:from="us-gaap_IncreaseDecreaseInStockholdersEquityRollForward" xlink:to="us-gaap_AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised" xlink:label="us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="7" xlink:from="us-gaap_IncreaseDecreaseInStockholdersEquityRollForward" xlink:to="us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherComprehensiveIncomeLossNetOfTax" xlink:label="us-gaap_OtherComprehensiveIncomeLossNetOfTax" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="8" xlink:from="us-gaap_IncreaseDecreaseInStockholdersEquityRollForward" xlink:to="us-gaap_OtherComprehensiveIncomeLossNetOfTax" priority="1" use="optional" />
  </definitionLink>
  <definitionLink xlink:role="http://www.topbuild.com/role/DisclosureShareBasedCompensationTables" xlink:type="extended" xlink:title="31003 - Disclosure - Share-Based Compensation (Tables)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:label="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AwardTypeAxis" xlink:label="us-gaap_AwardTypeAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="us-gaap_AwardTypeAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_AwardTypeAxis" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RestrictedStockMember" xlink:label="us-gaap_RestrictedStockMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="us-gaap_RestrictedStockMember" use="optional" />
    <loc xlink:type="locator" xlink:href="bld-20230331.xsd#bld_VestingCriteriaAxis" xlink:label="bld_VestingCriteriaAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="2" xlink:from="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="bld_VestingCriteriaAxis" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="bld-20230331.xsd#bld_VestingCriteriaDomain" xlink:label="bld_VestingCriteriaDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="bld_VestingCriteriaAxis" xlink:to="bld_VestingCriteriaDomain" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="bld-20230331.xsd#bld_VestingBasedOnPerformanceMember" xlink:label="bld_VestingBasedOnPerformanceMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="bld_VestingCriteriaDomain" xlink:to="bld_VestingBasedOnPerformanceMember" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <loc xlink:type="locator" xlink:href="bld-20230331.xsd#bld_ScheduleOfShareBasedCompensationExpenseTableTextBlock" xlink:label="bld_ScheduleOfShareBasedCompensationExpenseTableTextBlock" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="bld_ScheduleOfShareBasedCompensationExpenseTableTextBlock" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfShareBasedCompensationActivityTableTextBlock" xlink:label="us-gaap_ScheduleOfShareBasedCompensationActivityTableTextBlock" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ScheduleOfShareBasedCompensationActivityTableTextBlock" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="bld-20230331.xsd#bld_ScheduleOfUnrecognizedShareBasedCompensationExpenseNonvestedAwards" xlink:label="bld_ScheduleOfUnrecognizedShareBasedCompensationExpenseNonvestedAwards" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="bld_ScheduleOfUnrecognizedShareBasedCompensationExpenseNonvestedAwards" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="bld-20230331.xsd#bld_ScheduleOfShareBasedPaymentAwardRestrictedStockAwardsPayoutRangeAndRelatedExpenseTableTextBlock" xlink:label="bld_ScheduleOfShareBasedPaymentAwardRestrictedStockAwardsPayoutRangeAndRelatedExpenseTableTextBlock" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="bld_ScheduleOfShareBasedPaymentAwardRestrictedStockAwardsPayoutRangeAndRelatedExpenseTableTextBlock" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="bld-20230331.xsd#bld_ScheduleOfShareBasedPaymentAwardOtherThanOptionsValuationAssumptionsTableTextBlock" xlink:label="bld_ScheduleOfShareBasedPaymentAwardOtherThanOptionsValuationAssumptionsTableTextBlock" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="6" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="bld_ScheduleOfShareBasedPaymentAwardOtherThanOptionsValuationAssumptionsTableTextBlock" priority="1" use="optional" />
  </definitionLink>
  <definitionLink xlink:role="http://www.topbuild.com/role/DisclosureBusinessCombinationsTables" xlink:type="extended" xlink:title="31103 - Disclosure - Business Combinations (Tables)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable" xlink:label="us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessAcquisitionAxis" xlink:label="us-gaap_BusinessAcquisitionAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable" xlink:to="us-gaap_BusinessAcquisitionAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessAcquisitionAcquireeDomain" xlink:label="us-gaap_BusinessAcquisitionAcquireeDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_BusinessAcquisitionAxis" xlink:to="us-gaap_BusinessAcquisitionAcquireeDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="bld-20230331.xsd#bld_Acquisitions2022Member" xlink:label="bld_Acquisitions2022Member" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="bld_Acquisitions2022Member" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessAcquisitionLineItems" xlink:label="us-gaap_BusinessAcquisitionLineItems" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="us-gaap_BusinessAcquisitionLineItems" xlink:to="us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTextBlock" xlink:label="us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTextBlock" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_BusinessAcquisitionLineItems" xlink:to="us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTextBlock" priority="1" use="optional" />
  </definitionLink>
  <definitionLink xlink:role="http://www.topbuild.com/role/DisclosureRevenueRecognitionDisaggregationDetails" xlink:type="extended" xlink:title="40301 - Disclosure - Revenue Recognition - Disaggregation (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisaggregationOfRevenueTable" xlink:label="us-gaap_DisaggregationOfRevenueTable" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ConsolidationItemsAxis" xlink:label="srt_ConsolidationItemsAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="us-gaap_DisaggregationOfRevenueTable" xlink:to="srt_ConsolidationItemsAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ConsolidationItemsDomain" xlink:label="srt_ConsolidationItemsDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="srt_ConsolidationItemsAxis" xlink:to="srt_ConsolidationItemsDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingSegmentsMember" xlink:label="us-gaap_OperatingSegmentsMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="srt_ConsolidationItemsDomain" xlink:to="us-gaap_OperatingSegmentsMember" use="optional" />
    <loc xlink:type="locator" xlink:href="bld-20230331.xsd#bld_EliminationsAndReconcilingItemsMember" xlink:label="bld_EliminationsAndReconcilingItemsMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="srt_ConsolidationItemsDomain" xlink:to="bld_EliminationsAndReconcilingItemsMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementBusinessSegmentsAxis" xlink:label="us-gaap_StatementBusinessSegmentsAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="2" xlink:from="us-gaap_DisaggregationOfRevenueTable" xlink:to="us-gaap_StatementBusinessSegmentsAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SegmentDomain" xlink:label="us-gaap_SegmentDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_StatementBusinessSegmentsAxis" xlink:to="us-gaap_SegmentDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="bld-20230331.xsd#bld_InstallationSegmentMember" xlink:label="bld_InstallationSegmentMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_SegmentDomain" xlink:to="bld_InstallationSegmentMember" use="optional" />
    <loc xlink:type="locator" xlink:href="bld-20230331.xsd#bld_DistributionSegmentMember" xlink:label="bld_DistributionSegmentMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_SegmentDomain" xlink:to="bld_DistributionSegmentMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_MajorCustomersAxis" xlink:label="srt_MajorCustomersAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="3" xlink:from="us-gaap_DisaggregationOfRevenueTable" xlink:to="srt_MajorCustomersAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_NameOfMajorCustomerDomain" xlink:label="srt_NameOfMajorCustomerDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="srt_MajorCustomersAxis" xlink:to="srt_NameOfMajorCustomerDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="bld-20230331.xsd#bld_ResidentialMember" xlink:label="bld_ResidentialMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="srt_NameOfMajorCustomerDomain" xlink:to="bld_ResidentialMember" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="bld-20230331.xsd#bld_CommercialAndIndustrialMember" xlink:label="bld_CommercialAndIndustrialMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="srt_NameOfMajorCustomerDomain" xlink:to="bld_CommercialAndIndustrialMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ProductOrServiceAxis" xlink:label="srt_ProductOrServiceAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="4" xlink:from="us-gaap_DisaggregationOfRevenueTable" xlink:to="srt_ProductOrServiceAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ProductsAndServicesDomain" xlink:label="srt_ProductsAndServicesDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="srt_ProductOrServiceAxis" xlink:to="srt_ProductsAndServicesDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="bld-20230331.xsd#bld_InsulationAndAccessoriesMember" xlink:label="bld_InsulationAndAccessoriesMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="srt_ProductsAndServicesDomain" xlink:to="bld_InsulationAndAccessoriesMember" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="bld-20230331.xsd#bld_GlassAndWindowsMember" xlink:label="bld_GlassAndWindowsMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="srt_ProductsAndServicesDomain" xlink:to="bld_GlassAndWindowsMember" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="bld-20230331.xsd#bld_RainGuttersMember" xlink:label="bld_RainGuttersMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="srt_ProductsAndServicesDomain" xlink:to="bld_RainGuttersMember" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="bld-20230331.xsd#bld_AllOtherProductsMember" xlink:label="bld_AllOtherProductsMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="srt_ProductsAndServicesDomain" xlink:to="bld_AllOtherProductsMember" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisaggregationOfRevenueLineItems" xlink:label="us-gaap_DisaggregationOfRevenueLineItems" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="us-gaap_DisaggregationOfRevenueLineItems" xlink:to="us-gaap_DisaggregationOfRevenueTable" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" xlink:label="us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_DisaggregationOfRevenueLineItems" xlink:to="us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" priority="1" use="optional" />
  </definitionLink>
  <definitionLink xlink:role="http://www.topbuild.com/role/DisclosureRevenueRecognitionOtherDetails" xlink:type="extended" xlink:title="40302 - Disclosure - Revenue Recognition - Other (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BalanceSheetLocationAxis" xlink:label="us-gaap_BalanceSheetLocationAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_BalanceSheetLocationAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BalanceSheetLocationDomain" xlink:label="us-gaap_BalanceSheetLocationDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_BalanceSheetLocationAxis" xlink:to="us-gaap_BalanceSheetLocationDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="bld-20230331.xsd#bld_ReceivablesNetMember" xlink:label="bld_ReceivablesNetMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_BalanceSheetLocationDomain" xlink:to="bld_ReceivablesNetMember" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccruedLiabilitiesMember" xlink:label="us-gaap_AccruedLiabilitiesMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_BalanceSheetLocationDomain" xlink:to="us-gaap_AccruedLiabilitiesMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ContractWithCustomerAssetAndLiabilityAbstract" xlink:label="us-gaap_ContractWithCustomerAssetAndLiabilityAbstract" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ContractWithCustomerAssetAndLiabilityAbstract" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ContractWithCustomerAssetNetCurrentAbstract" xlink:label="us-gaap_ContractWithCustomerAssetNetCurrentAbstract" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_ContractWithCustomerAssetAndLiabilityAbstract" xlink:to="us-gaap_ContractWithCustomerAssetNetCurrentAbstract" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ContractWithCustomerAssetNetCurrent" xlink:label="us-gaap_ContractWithCustomerAssetNetCurrent" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_ContractWithCustomerAssetNetCurrentAbstract" xlink:to="us-gaap_ContractWithCustomerAssetNetCurrent" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ContractWithCustomerLiabilityAbstract" xlink:label="us-gaap_ContractWithCustomerLiabilityAbstract" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_ContractWithCustomerAssetAndLiabilityAbstract" xlink:to="us-gaap_ContractWithCustomerLiabilityAbstract" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ContractWithCustomerLiabilityCurrent" xlink:label="us-gaap_ContractWithCustomerLiabilityCurrent" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_ContractWithCustomerLiabilityAbstract" xlink:to="us-gaap_ContractWithCustomerLiabilityCurrent" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RevenuePerformanceObligationSatisfiedOverTimeAbstract" xlink:label="us-gaap_RevenuePerformanceObligationSatisfiedOverTimeAbstract" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_ContractWithCustomerAssetAndLiabilityAbstract" xlink:to="us-gaap_RevenuePerformanceObligationSatisfiedOverTimeAbstract" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RevenueRemainingPerformanceObligation" xlink:label="us-gaap_RevenueRemainingPerformanceObligation" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_RevenuePerformanceObligationSatisfiedOverTimeAbstract" xlink:to="us-gaap_RevenueRemainingPerformanceObligation" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionExplanation" xlink:label="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionExplanation" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_RevenuePerformanceObligationSatisfiedOverTimeAbstract" xlink:to="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionExplanation" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ConstructionContractorReceivableRetainage" xlink:label="us-gaap_ConstructionContractorReceivableRetainage" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_RevenuePerformanceObligationSatisfiedOverTimeAbstract" xlink:to="us-gaap_ConstructionContractorReceivableRetainage" priority="1" use="optional" />
  </definitionLink>
  <definitionLink xlink:role="http://www.topbuild.com/role/DisclosureGoodwillAndOtherIntangiblesGoodwillDetails" xlink:type="extended" xlink:title="40401 - Disclosure - Goodwill and Other Intangibles - Goodwill (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfGoodwillTable" xlink:label="us-gaap_ScheduleOfGoodwillTable" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementBusinessSegmentsAxis" xlink:label="us-gaap_StatementBusinessSegmentsAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="us-gaap_ScheduleOfGoodwillTable" xlink:to="us-gaap_StatementBusinessSegmentsAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SegmentDomain" xlink:label="us-gaap_SegmentDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_StatementBusinessSegmentsAxis" xlink:to="us-gaap_SegmentDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="bld-20230331.xsd#bld_InstallationSegmentMember" xlink:label="bld_InstallationSegmentMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_SegmentDomain" xlink:to="bld_InstallationSegmentMember" use="optional" />
    <loc xlink:type="locator" xlink:href="bld-20230331.xsd#bld_DistributionSegmentMember" xlink:label="bld_DistributionSegmentMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_SegmentDomain" xlink:to="bld_DistributionSegmentMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GoodwillLineItems" xlink:label="us-gaap_GoodwillLineItems" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="us-gaap_GoodwillLineItems" xlink:to="us-gaap_ScheduleOfGoodwillTable" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NumberOfReportingUnits" xlink:label="us-gaap_NumberOfReportingUnits" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_GoodwillLineItems" xlink:to="us-gaap_NumberOfReportingUnits" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GoodwillImpairmentLoss" xlink:label="us-gaap_GoodwillImpairmentLoss" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_GoodwillLineItems" xlink:to="us-gaap_GoodwillImpairmentLoss" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GoodwillGross" xlink:label="us-gaap_GoodwillGross" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_GoodwillLineItems" xlink:to="us-gaap_GoodwillGross" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GoodwillPeriodIncreaseDecrease" xlink:label="us-gaap_GoodwillPeriodIncreaseDecrease" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="us-gaap_GoodwillLineItems" xlink:to="us-gaap_GoodwillPeriodIncreaseDecrease" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GoodwillForeignCurrencyTranslationGainLoss" xlink:label="us-gaap_GoodwillForeignCurrencyTranslationGainLoss" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="6" xlink:from="us-gaap_GoodwillLineItems" xlink:to="us-gaap_GoodwillForeignCurrencyTranslationGainLoss" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GoodwillImpairedAccumulatedImpairmentLoss" xlink:label="us-gaap_GoodwillImpairedAccumulatedImpairmentLoss" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="7" xlink:from="us-gaap_GoodwillLineItems" xlink:to="us-gaap_GoodwillImpairedAccumulatedImpairmentLoss" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_Goodwill" xlink:label="us-gaap_Goodwill" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="8" xlink:from="us-gaap_GoodwillLineItems" xlink:to="us-gaap_Goodwill" priority="1" use="optional" />
  </definitionLink>
  <definitionLink xlink:role="http://www.topbuild.com/role/DisclosureLongTermDebtReconciliationDetails" xlink:type="extended" xlink:title="40501 - Disclosure - Long-Term Debt - Reconciliation (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentTable" xlink:label="us-gaap_DebtInstrumentTable" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongtermDebtTypeAxis" xlink:label="us-gaap_LongtermDebtTypeAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="us-gaap_DebtInstrumentTable" xlink:to="us-gaap_LongtermDebtTypeAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongtermDebtTypeDomain" xlink:label="us-gaap_LongtermDebtTypeDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_LongtermDebtTypeAxis" xlink:to="us-gaap_LongtermDebtTypeDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="bld-20230331.xsd#bld_SeniorNotesDue2029Member" xlink:label="bld_SeniorNotesDue2029Member" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_LongtermDebtTypeDomain" xlink:to="bld_SeniorNotesDue2029Member" use="optional" />
    <loc xlink:type="locator" xlink:href="bld-20230331.xsd#bld_SeniorNotesDue2032Member" xlink:label="bld_SeniorNotesDue2032Member" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_LongtermDebtTypeDomain" xlink:to="bld_SeniorNotesDue2032Member" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SecuredDebtMember" xlink:label="us-gaap_SecuredDebtMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_LongtermDebtTypeDomain" xlink:to="us-gaap_SecuredDebtMember" use="optional" />
    <loc xlink:type="locator" xlink:href="bld-20230331.xsd#bld_EquipmentNotesMember" xlink:label="bld_EquipmentNotesMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_LongtermDebtTypeDomain" xlink:to="bld_EquipmentNotesMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentLineItems" xlink:label="us-gaap_DebtInstrumentLineItems" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="us-gaap_DebtInstrumentTable" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentInterestRateStatedPercentage" xlink:label="us-gaap_DebtInstrumentInterestRateStatedPercentage" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="us-gaap_DebtInstrumentInterestRateStatedPercentage" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentCarryingAmount" xlink:label="us-gaap_DebtInstrumentCarryingAmount" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="us-gaap_DebtInstrumentCarryingAmount" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredFinanceCostsNet" xlink:label="us-gaap_DeferredFinanceCostsNet" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="us-gaap_DeferredFinanceCostsNet" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongTermDebt" xlink:label="us-gaap_LongTermDebt" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="us-gaap_LongTermDebt" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongTermDebtCurrent" xlink:label="us-gaap_LongTermDebtCurrent" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="6" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="us-gaap_LongTermDebtCurrent" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongTermDebtNoncurrent" xlink:label="us-gaap_LongTermDebtNoncurrent" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="7" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="us-gaap_LongTermDebtNoncurrent" priority="1" use="optional" />
  </definitionLink>
  <definitionLink xlink:role="http://www.topbuild.com/role/DisclosureLongTermDebtScheduleOfDebtMaturityDetails" xlink:type="extended" xlink:title="40502 - Disclosure - Long-Term Debt - Schedule of debt maturity (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentTable" xlink:label="us-gaap_DebtInstrumentTable" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongtermDebtTypeAxis" xlink:label="us-gaap_LongtermDebtTypeAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="us-gaap_DebtInstrumentTable" xlink:to="us-gaap_LongtermDebtTypeAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongtermDebtTypeDomain" xlink:label="us-gaap_LongtermDebtTypeDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_LongtermDebtTypeAxis" xlink:to="us-gaap_LongtermDebtTypeDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="bld-20230331.xsd#bld_SeniorNotesDue2029Member" xlink:label="bld_SeniorNotesDue2029Member" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_LongtermDebtTypeDomain" xlink:to="bld_SeniorNotesDue2029Member" use="optional" />
    <loc xlink:type="locator" xlink:href="bld-20230331.xsd#bld_SeniorNotesDue2032Member" xlink:label="bld_SeniorNotesDue2032Member" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_LongtermDebtTypeDomain" xlink:to="bld_SeniorNotesDue2032Member" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SecuredDebtMember" xlink:label="us-gaap_SecuredDebtMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_LongtermDebtTypeDomain" xlink:to="us-gaap_SecuredDebtMember" use="optional" />
    <loc xlink:type="locator" xlink:href="bld-20230331.xsd#bld_EquipmentNotesMember" xlink:label="bld_EquipmentNotesMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_LongtermDebtTypeDomain" xlink:to="bld_EquipmentNotesMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentLineItems" xlink:label="us-gaap_DebtInstrumentLineItems" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="us-gaap_DebtInstrumentTable" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongTermDebtByMaturityAbstract" xlink:label="us-gaap_LongTermDebtByMaturityAbstract" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="us-gaap_LongTermDebtByMaturityAbstract" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalRemainderOfFiscalYear" xlink:label="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalRemainderOfFiscalYear" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_LongTermDebtByMaturityAbstract" xlink:to="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalRemainderOfFiscalYear" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths" xlink:label="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_LongTermDebtByMaturityAbstract" xlink:to="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearTwo" xlink:label="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearTwo" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_LongTermDebtByMaturityAbstract" xlink:to="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearTwo" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearThree" xlink:label="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearThree" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_LongTermDebtByMaturityAbstract" xlink:to="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearThree" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="bld-20230331.xsd#bld_LongTermDebtMaturitiesRepaymentsOfPrincipalAfterYearFour" xlink:label="bld_LongTermDebtMaturitiesRepaymentsOfPrincipalAfterYearFour" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="us-gaap_LongTermDebtByMaturityAbstract" xlink:to="bld_LongTermDebtMaturitiesRepaymentsOfPrincipalAfterYearFour" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentCarryingAmount" xlink:label="us-gaap_DebtInstrumentCarryingAmount" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="6" xlink:from="us-gaap_LongTermDebtByMaturityAbstract" xlink:to="us-gaap_DebtInstrumentCarryingAmount" priority="1" use="optional" />
  </definitionLink>
  <definitionLink xlink:role="http://www.topbuild.com/role/DisclosureLongTermDebtKeyTermsOfCreditAgreementDetails" xlink:type="extended" xlink:title="40503 - Disclosure - Long-Term Debt - Key Terms of Credit Agreement (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentTable" xlink:label="us-gaap_DebtInstrumentTable" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentAxis" xlink:label="us-gaap_DebtInstrumentAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="us-gaap_DebtInstrumentTable" xlink:to="us-gaap_DebtInstrumentAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentNameDomain" xlink:label="us-gaap_DebtInstrumentNameDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_DebtInstrumentAxis" xlink:to="us-gaap_DebtInstrumentNameDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="bld-20230331.xsd#bld_AmendedCreditAgreementDecember2022Member" xlink:label="bld_AmendedCreditAgreementDecember2022Member" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_DebtInstrumentNameDomain" xlink:to="bld_AmendedCreditAgreementDecember2022Member" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongtermDebtTypeAxis" xlink:label="us-gaap_LongtermDebtTypeAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="2" xlink:from="us-gaap_DebtInstrumentTable" xlink:to="us-gaap_LongtermDebtTypeAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongtermDebtTypeDomain" xlink:label="us-gaap_LongtermDebtTypeDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_LongtermDebtTypeAxis" xlink:to="us-gaap_LongtermDebtTypeDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SecuredDebtMember" xlink:label="us-gaap_SecuredDebtMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_LongtermDebtTypeDomain" xlink:to="us-gaap_SecuredDebtMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShortTermDebtTypeAxis" xlink:label="us-gaap_ShortTermDebtTypeAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="3" xlink:from="us-gaap_DebtInstrumentTable" xlink:to="us-gaap_ShortTermDebtTypeAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShortTermDebtTypeDomain" xlink:label="us-gaap_ShortTermDebtTypeDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_ShortTermDebtTypeAxis" xlink:to="us-gaap_ShortTermDebtTypeDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RevolvingCreditFacilityMember" xlink:label="us-gaap_RevolvingCreditFacilityMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_ShortTermDebtTypeDomain" xlink:to="us-gaap_RevolvingCreditFacilityMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CreditFacilityAxis" xlink:label="us-gaap_CreditFacilityAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="4" xlink:from="us-gaap_DebtInstrumentTable" xlink:to="us-gaap_CreditFacilityAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CreditFacilityDomain" xlink:label="us-gaap_CreditFacilityDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_CreditFacilityAxis" xlink:to="us-gaap_CreditFacilityDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="bld-20230331.xsd#bld_BaseRateBorrowingsMember" xlink:label="bld_BaseRateBorrowingsMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_CreditFacilityDomain" xlink:to="bld_BaseRateBorrowingsMember" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="bld-20230331.xsd#bld_SofrRateBorrowingsMember" xlink:label="bld_SofrRateBorrowingsMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_CreditFacilityDomain" xlink:to="bld_SofrRateBorrowingsMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_VariableRateAxis" xlink:label="us-gaap_VariableRateAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="5" xlink:from="us-gaap_DebtInstrumentTable" xlink:to="us-gaap_VariableRateAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_VariableRateDomain" xlink:label="us-gaap_VariableRateDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_VariableRateAxis" xlink:to="us-gaap_VariableRateDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="bld-20230331.xsd#bld_FederalFundsRateMember" xlink:label="bld_FederalFundsRateMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_VariableRateDomain" xlink:to="bld_FederalFundsRateMember" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SecuredOvernightFinancingRateSofrOvernightIndexSwapRateMember" xlink:label="us-gaap_SecuredOvernightFinancingRateSofrOvernightIndexSwapRateMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_VariableRateDomain" xlink:to="us-gaap_SecuredOvernightFinancingRateSofrOvernightIndexSwapRateMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_RangeAxis" xlink:label="srt_RangeAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="6" xlink:from="us-gaap_DebtInstrumentTable" xlink:to="srt_RangeAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_RangeMember" xlink:label="srt_RangeMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="srt_RangeAxis" xlink:to="srt_RangeMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_MinimumMember" xlink:label="srt_MinimumMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="srt_RangeMember" xlink:to="srt_MinimumMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_MaximumMember" xlink:label="srt_MaximumMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="srt_RangeMember" xlink:to="srt_MaximumMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentLineItems" xlink:label="us-gaap_DebtInstrumentLineItems" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="us-gaap_DebtInstrumentTable" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity" xlink:label="us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="bld-20230331.xsd#bld_LineOfCreditFacilityAdditionalBorrowingCapacityDelayedDraw" xlink:label="bld_LineOfCreditFacilityAdditionalBorrowingCapacityDelayedDraw" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="bld_LineOfCreditFacilityAdditionalBorrowingCapacityDelayedDraw" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="bld-20230331.xsd#bld_LineOfCreditFacilityAdditionalBorrowingCapacityAvailableSubjectToCertainConditions" xlink:label="bld_LineOfCreditFacilityAdditionalBorrowingCapacityAvailableSubjectToCertainConditions" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="bld_LineOfCreditFacilityAdditionalBorrowingCapacityAvailableSubjectToCertainConditions" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="bld-20230331.xsd#bld_LineOfCreditFacilitySublimitAvailableForLettersOfCredit" xlink:label="bld_LineOfCreditFacilitySublimitAvailableForLettersOfCredit" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="bld_LineOfCreditFacilitySublimitAvailableForLettersOfCredit" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="bld-20230331.xsd#bld_LineOfCreditFacilitySublimitAvailableForSwinglineLoans" xlink:label="bld_LineOfCreditFacilitySublimitAvailableForSwinglineLoans" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="6" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="bld_LineOfCreditFacilitySublimitAvailableForSwinglineLoans" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentInterestRateEffectivePercentage" xlink:label="us-gaap_DebtInstrumentInterestRateEffectivePercentage" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="7" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="us-gaap_DebtInstrumentInterestRateEffectivePercentage" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentMaturityDate" xlink:label="us-gaap_DebtInstrumentMaturityDate" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="8" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="us-gaap_DebtInstrumentMaturityDate" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentBasisSpreadOnVariableRate1" xlink:label="us-gaap_DebtInstrumentBasisSpreadOnVariableRate1" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="9" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="us-gaap_DebtInstrumentBasisSpreadOnVariableRate1" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentInterestRateStatedPercentage" xlink:label="us-gaap_DebtInstrumentInterestRateStatedPercentage" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="10" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="us-gaap_DebtInstrumentInterestRateStatedPercentage" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="bld-20230331.xsd#bld_DebtInstrumentRedemptionPriceBasisSpreadOnTreasuryRate" xlink:label="bld_DebtInstrumentRedemptionPriceBasisSpreadOnTreasuryRate" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="11" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="bld_DebtInstrumentRedemptionPriceBasisSpreadOnTreasuryRate" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="bld-20230331.xsd#bld_DebtInstrumentReferenceRateMaturityPeriod" xlink:label="bld_DebtInstrumentReferenceRateMaturityPeriod" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="12" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="bld_DebtInstrumentReferenceRateMaturityPeriod" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentRedemptionPricePercentage" xlink:label="us-gaap_DebtInstrumentRedemptionPricePercentage" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="13" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="us-gaap_DebtInstrumentRedemptionPricePercentage" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="bld-20230331.xsd#bld_DebtInstrumentInterestRatePercentageFloor" xlink:label="bld_DebtInstrumentInterestRatePercentageFloor" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="14" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="bld_DebtInstrumentInterestRatePercentageFloor" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="bld-20230331.xsd#bld_DebitInstrumentApplicableMarginBasedOnTotalLeverageRatio" xlink:label="bld_DebitInstrumentApplicableMarginBasedOnTotalLeverageRatio" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="15" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="bld_DebitInstrumentApplicableMarginBasedOnTotalLeverageRatio" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage" xlink:label="us-gaap_LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="16" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="us-gaap_LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentFaceAmount" xlink:label="us-gaap_DebtInstrumentFaceAmount" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="17" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="us-gaap_DebtInstrumentFaceAmount" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentRedemptionPricePercentageOfPrincipalAmountRedeemed" xlink:label="us-gaap_DebtInstrumentRedemptionPricePercentageOfPrincipalAmountRedeemed" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="18" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="us-gaap_DebtInstrumentRedemptionPricePercentageOfPrincipalAmountRedeemed" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentTerm" xlink:label="us-gaap_DebtInstrumentTerm" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="19" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="us-gaap_DebtInstrumentTerm" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="bld-20230331.xsd#bld_DebtInstrumentConditionalRedemptionThresholdPercentageOfAggregatePrincipalAmountOriginallyIssuedRemainsOutstanding" xlink:label="bld_DebtInstrumentConditionalRedemptionThresholdPercentageOfAggregatePrincipalAmountOriginallyIssuedRemainsOutstanding" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="20" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="bld_DebtInstrumentConditionalRedemptionThresholdPercentageOfAggregatePrincipalAmountOriginallyIssuedRemainsOutstanding" priority="1" use="optional" />
  </definitionLink>
  <definitionLink xlink:role="http://www.topbuild.com/role/DisclosureLongTermDebtRevolvingFacilityDetails" xlink:type="extended" xlink:title="40504 - Disclosure - Long-Term Debt - Revolving Facility (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LineOfCreditFacilityTable" xlink:label="us-gaap_LineOfCreditFacilityTable" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShortTermDebtTypeAxis" xlink:label="us-gaap_ShortTermDebtTypeAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="us-gaap_LineOfCreditFacilityTable" xlink:to="us-gaap_ShortTermDebtTypeAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShortTermDebtTypeDomain" xlink:label="us-gaap_ShortTermDebtTypeDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_ShortTermDebtTypeAxis" xlink:to="us-gaap_ShortTermDebtTypeDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RevolvingCreditFacilityMember" xlink:label="us-gaap_RevolvingCreditFacilityMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_ShortTermDebtTypeDomain" xlink:to="us-gaap_RevolvingCreditFacilityMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_RangeAxis" xlink:label="srt_RangeAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="2" xlink:from="us-gaap_LineOfCreditFacilityTable" xlink:to="srt_RangeAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_RangeMember" xlink:label="srt_RangeMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="srt_RangeAxis" xlink:to="srt_RangeMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_MinimumMember" xlink:label="srt_MinimumMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="srt_RangeMember" xlink:to="srt_MinimumMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_MaximumMember" xlink:label="srt_MaximumMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="srt_RangeMember" xlink:to="srt_MaximumMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_StatementScenarioAxis" xlink:label="srt_StatementScenarioAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="3" xlink:from="us-gaap_LineOfCreditFacilityTable" xlink:to="srt_StatementScenarioAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ScenarioUnspecifiedDomain" xlink:label="srt_ScenarioUnspecifiedDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="srt_StatementScenarioAxis" xlink:to="srt_ScenarioUnspecifiedDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="bld-20230331.xsd#bld_EventOfDefaultScenarioMember" xlink:label="bld_EventOfDefaultScenarioMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="srt_ScenarioUnspecifiedDomain" xlink:to="bld_EventOfDefaultScenarioMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentLineItems" xlink:label="us-gaap_DebtInstrumentLineItems" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="us-gaap_LineOfCreditFacilityTable" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity" xlink:label="us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LettersOfCreditOutstandingAmount" xlink:label="us-gaap_LettersOfCreditOutstandingAmount" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="us-gaap_LettersOfCreditOutstandingAmount" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LineOfCreditFacilityCurrentBorrowingCapacity" xlink:label="us-gaap_LineOfCreditFacilityCurrentBorrowingCapacity" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="us-gaap_LineOfCreditFacilityCurrentBorrowingCapacity" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage" xlink:label="us-gaap_LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="us-gaap_LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongTermDebtOtherDisclosuresAbstract" xlink:label="us-gaap_LongTermDebtOtherDisclosuresAbstract" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="6" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="us-gaap_LongTermDebtOtherDisclosuresAbstract" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="bld-20230331.xsd#bld_MinimumPercentageOfDebtImmediatelyDueAndPayable" xlink:label="bld_MinimumPercentageOfDebtImmediatelyDueAndPayable" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_LongTermDebtOtherDisclosuresAbstract" xlink:to="bld_MinimumPercentageOfDebtImmediatelyDueAndPayable" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentInterestRateStatedPercentage" xlink:label="us-gaap_DebtInstrumentInterestRateStatedPercentage" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_LongTermDebtOtherDisclosuresAbstract" xlink:to="us-gaap_DebtInstrumentInterestRateStatedPercentage" priority="1" use="optional" />
  </definitionLink>
  <definitionLink xlink:role="http://www.topbuild.com/role/DisclosureLongTermDebtSeniorNotesAndEquipmentNotesDetails" xlink:type="extended" xlink:title="40505 - Disclosure - Long-Term Debt - Senior Notes and Equipment Notes (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentTable" xlink:label="us-gaap_DebtInstrumentTable" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentAxis" xlink:label="us-gaap_DebtInstrumentAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="us-gaap_DebtInstrumentTable" xlink:to="us-gaap_DebtInstrumentAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentNameDomain" xlink:label="us-gaap_DebtInstrumentNameDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_DebtInstrumentAxis" xlink:to="us-gaap_DebtInstrumentNameDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="bld-20230331.xsd#bld_SeniorNotesDue2029Member" xlink:label="bld_SeniorNotesDue2029Member" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_DebtInstrumentNameDomain" xlink:to="bld_SeniorNotesDue2029Member" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="bld-20230331.xsd#bld_SeniorNotesDue2032Member" xlink:label="bld_SeniorNotesDue2032Member" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_DebtInstrumentNameDomain" xlink:to="bld_SeniorNotesDue2032Member" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongtermDebtTypeAxis" xlink:label="us-gaap_LongtermDebtTypeAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="2" xlink:from="us-gaap_DebtInstrumentTable" xlink:to="us-gaap_LongtermDebtTypeAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongtermDebtTypeDomain" xlink:label="us-gaap_LongtermDebtTypeDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_LongtermDebtTypeAxis" xlink:to="us-gaap_LongtermDebtTypeDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SecuredDebtMember" xlink:label="us-gaap_SecuredDebtMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_LongtermDebtTypeDomain" xlink:to="us-gaap_SecuredDebtMember" use="optional" />
    <loc xlink:type="locator" xlink:href="bld-20230331.xsd#bld_EquipmentNotesMember" xlink:label="bld_EquipmentNotesMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_LongtermDebtTypeDomain" xlink:to="bld_EquipmentNotesMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_StatementScenarioAxis" xlink:label="srt_StatementScenarioAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="3" xlink:from="us-gaap_DebtInstrumentTable" xlink:to="srt_StatementScenarioAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ScenarioUnspecifiedDomain" xlink:label="srt_ScenarioUnspecifiedDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="srt_StatementScenarioAxis" xlink:to="srt_ScenarioUnspecifiedDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="bld-20230331.xsd#bld_ChangeInControlScenarioMember" xlink:label="bld_ChangeInControlScenarioMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="srt_ScenarioUnspecifiedDomain" xlink:to="bld_ChangeInControlScenarioMember" use="optional" />
    <loc xlink:type="locator" xlink:href="bld-20230331.xsd#bld_DebtInstrumentRedemptionOptionOneMember" xlink:label="bld_DebtInstrumentRedemptionOptionOneMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="srt_ScenarioUnspecifiedDomain" xlink:to="bld_DebtInstrumentRedemptionOptionOneMember" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="bld-20230331.xsd#bld_DebtInstrumentRedemptionOptionTwoMember" xlink:label="bld_DebtInstrumentRedemptionOptionTwoMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="srt_ScenarioUnspecifiedDomain" xlink:to="bld_DebtInstrumentRedemptionOptionTwoMember" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_RangeAxis" xlink:label="srt_RangeAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="4" xlink:from="us-gaap_DebtInstrumentTable" xlink:to="srt_RangeAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_RangeMember" xlink:label="srt_RangeMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="srt_RangeAxis" xlink:to="srt_RangeMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_MinimumMember" xlink:label="srt_MinimumMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="srt_RangeMember" xlink:to="srt_MinimumMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_MaximumMember" xlink:label="srt_MaximumMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="srt_RangeMember" xlink:to="srt_MaximumMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentRedemptionPeriodAxis" xlink:label="us-gaap_DebtInstrumentRedemptionPeriodAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="5" xlink:from="us-gaap_DebtInstrumentTable" xlink:to="us-gaap_DebtInstrumentRedemptionPeriodAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentRedemptionPeriodDomain" xlink:label="us-gaap_DebtInstrumentRedemptionPeriodDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_DebtInstrumentRedemptionPeriodAxis" xlink:to="us-gaap_DebtInstrumentRedemptionPeriodDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentRedemptionPeriodOneMember" xlink:label="us-gaap_DebtInstrumentRedemptionPeriodOneMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_DebtInstrumentRedemptionPeriodDomain" xlink:to="us-gaap_DebtInstrumentRedemptionPeriodOneMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentRedemptionPeriodTwoMember" xlink:label="us-gaap_DebtInstrumentRedemptionPeriodTwoMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_DebtInstrumentRedemptionPeriodDomain" xlink:to="us-gaap_DebtInstrumentRedemptionPeriodTwoMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentRedemptionPeriodThreeMember" xlink:label="us-gaap_DebtInstrumentRedemptionPeriodThreeMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_DebtInstrumentRedemptionPeriodDomain" xlink:to="us-gaap_DebtInstrumentRedemptionPeriodThreeMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentRedemptionPeriodFourMember" xlink:label="us-gaap_DebtInstrumentRedemptionPeriodFourMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_DebtInstrumentRedemptionPeriodDomain" xlink:to="us-gaap_DebtInstrumentRedemptionPeriodFourMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentRedemptionPeriodFiveMember" xlink:label="us-gaap_DebtInstrumentRedemptionPeriodFiveMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="us-gaap_DebtInstrumentRedemptionPeriodDomain" xlink:to="us-gaap_DebtInstrumentRedemptionPeriodFiveMember" use="optional" />
    <loc xlink:type="locator" xlink:href="bld-20230331.xsd#bld_DebtInstrumentRedemptionPeriodSixMember" xlink:label="bld_DebtInstrumentRedemptionPeriodSixMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="6" xlink:from="us-gaap_DebtInstrumentRedemptionPeriodDomain" xlink:to="bld_DebtInstrumentRedemptionPeriodSixMember" use="optional" />
    <loc xlink:type="locator" xlink:href="bld-20230331.xsd#bld_DebtInstrumentRedemptionPeriodSevenMember" xlink:label="bld_DebtInstrumentRedemptionPeriodSevenMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="7" xlink:from="us-gaap_DebtInstrumentRedemptionPeriodDomain" xlink:to="bld_DebtInstrumentRedemptionPeriodSevenMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentLineItems" xlink:label="us-gaap_DebtInstrumentLineItems" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="us-gaap_DebtInstrumentTable" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity" xlink:label="us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="bld-20230331.xsd#bld_LineOfCreditFacilityAdditionalBorrowingCapacityDelayedDraw" xlink:label="bld_LineOfCreditFacilityAdditionalBorrowingCapacityDelayedDraw" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="bld_LineOfCreditFacilityAdditionalBorrowingCapacityDelayedDraw" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="bld-20230331.xsd#bld_LineOfCreditFacilityAdditionalBorrowingCapacityAvailableSubjectToCertainConditions" xlink:label="bld_LineOfCreditFacilityAdditionalBorrowingCapacityAvailableSubjectToCertainConditions" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="bld_LineOfCreditFacilityAdditionalBorrowingCapacityAvailableSubjectToCertainConditions" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="bld-20230331.xsd#bld_LineOfCreditFacilitySublimitAvailableForLettersOfCredit" xlink:label="bld_LineOfCreditFacilitySublimitAvailableForLettersOfCredit" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="bld_LineOfCreditFacilitySublimitAvailableForLettersOfCredit" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="bld-20230331.xsd#bld_LineOfCreditFacilitySublimitAvailableForSwinglineLoans" xlink:label="bld_LineOfCreditFacilitySublimitAvailableForSwinglineLoans" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="6" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="bld_LineOfCreditFacilitySublimitAvailableForSwinglineLoans" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentInterestRateEffectivePercentage" xlink:label="us-gaap_DebtInstrumentInterestRateEffectivePercentage" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="7" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="us-gaap_DebtInstrumentInterestRateEffectivePercentage" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentMaturityDate" xlink:label="us-gaap_DebtInstrumentMaturityDate" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="8" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="us-gaap_DebtInstrumentMaturityDate" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentBasisSpreadOnVariableRate1" xlink:label="us-gaap_DebtInstrumentBasisSpreadOnVariableRate1" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="9" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="us-gaap_DebtInstrumentBasisSpreadOnVariableRate1" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentInterestRateStatedPercentage" xlink:label="us-gaap_DebtInstrumentInterestRateStatedPercentage" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="10" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="us-gaap_DebtInstrumentInterestRateStatedPercentage" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="bld-20230331.xsd#bld_DebtInstrumentRedemptionPriceBasisSpreadOnTreasuryRate" xlink:label="bld_DebtInstrumentRedemptionPriceBasisSpreadOnTreasuryRate" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="11" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="bld_DebtInstrumentRedemptionPriceBasisSpreadOnTreasuryRate" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="bld-20230331.xsd#bld_DebtInstrumentReferenceRateMaturityPeriod" xlink:label="bld_DebtInstrumentReferenceRateMaturityPeriod" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="12" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="bld_DebtInstrumentReferenceRateMaturityPeriod" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentRedemptionPricePercentage" xlink:label="us-gaap_DebtInstrumentRedemptionPricePercentage" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="13" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="us-gaap_DebtInstrumentRedemptionPricePercentage" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="bld-20230331.xsd#bld_DebtInstrumentInterestRatePercentageFloor" xlink:label="bld_DebtInstrumentInterestRatePercentageFloor" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="14" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="bld_DebtInstrumentInterestRatePercentageFloor" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="bld-20230331.xsd#bld_DebitInstrumentApplicableMarginBasedOnTotalLeverageRatio" xlink:label="bld_DebitInstrumentApplicableMarginBasedOnTotalLeverageRatio" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="15" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="bld_DebitInstrumentApplicableMarginBasedOnTotalLeverageRatio" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage" xlink:label="us-gaap_LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="16" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="us-gaap_LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentFaceAmount" xlink:label="us-gaap_DebtInstrumentFaceAmount" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="17" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="us-gaap_DebtInstrumentFaceAmount" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentRedemptionPricePercentageOfPrincipalAmountRedeemed" xlink:label="us-gaap_DebtInstrumentRedemptionPricePercentageOfPrincipalAmountRedeemed" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="18" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="us-gaap_DebtInstrumentRedemptionPricePercentageOfPrincipalAmountRedeemed" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongTermDebt" xlink:label="us-gaap_LongTermDebt" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="19" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="us-gaap_LongTermDebt" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentTerm" xlink:label="us-gaap_DebtInstrumentTerm" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="20" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="us-gaap_DebtInstrumentTerm" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="bld-20230331.xsd#bld_DebtInstrumentConditionalRedemptionThresholdPercentageOfAggregatePrincipalAmountOriginallyIssuedRemainsOutstanding" xlink:label="bld_DebtInstrumentConditionalRedemptionThresholdPercentageOfAggregatePrincipalAmountOriginallyIssuedRemainsOutstanding" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="21" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="bld_DebtInstrumentConditionalRedemptionThresholdPercentageOfAggregatePrincipalAmountOriginallyIssuedRemainsOutstanding" priority="1" use="optional" />
  </definitionLink>
  <definitionLink xlink:role="http://www.topbuild.com/role/DisclosureLongTermDebtOtherDetails" xlink:type="extended" xlink:title="40506 - Disclosure - Long-Term Debt - Other (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LineOfCreditFacilityTable" xlink:label="us-gaap_LineOfCreditFacilityTable" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentAxis" xlink:label="us-gaap_DebtInstrumentAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="us-gaap_LineOfCreditFacilityTable" xlink:to="us-gaap_DebtInstrumentAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentNameDomain" xlink:label="us-gaap_DebtInstrumentNameDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_DebtInstrumentAxis" xlink:to="us-gaap_DebtInstrumentNameDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="bld-20230331.xsd#bld_SeniorNotesDue2029Member" xlink:label="bld_SeniorNotesDue2029Member" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_DebtInstrumentNameDomain" xlink:to="bld_SeniorNotesDue2029Member" use="optional" />
    <loc xlink:type="locator" xlink:href="bld-20230331.xsd#bld_SeniorNotesDue2032Member" xlink:label="bld_SeniorNotesDue2032Member" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_DebtInstrumentNameDomain" xlink:to="bld_SeniorNotesDue2032Member" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongtermDebtTypeAxis" xlink:label="us-gaap_LongtermDebtTypeAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="2" xlink:from="us-gaap_LineOfCreditFacilityTable" xlink:to="us-gaap_LongtermDebtTypeAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongtermDebtTypeDomain" xlink:label="us-gaap_LongtermDebtTypeDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_LongtermDebtTypeAxis" xlink:to="us-gaap_LongtermDebtTypeDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SeniorNotesMember" xlink:label="us-gaap_SeniorNotesMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_LongtermDebtTypeDomain" xlink:to="us-gaap_SeniorNotesMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_StatementScenarioAxis" xlink:label="srt_StatementScenarioAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="3" xlink:from="us-gaap_LineOfCreditFacilityTable" xlink:to="srt_StatementScenarioAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ScenarioUnspecifiedDomain" xlink:label="srt_ScenarioUnspecifiedDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="srt_StatementScenarioAxis" xlink:to="srt_ScenarioUnspecifiedDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="bld-20230331.xsd#bld_EventOfDefaultScenarioMember" xlink:label="bld_EventOfDefaultScenarioMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="srt_ScenarioUnspecifiedDomain" xlink:to="bld_EventOfDefaultScenarioMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentLineItems" xlink:label="us-gaap_DebtInstrumentLineItems" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="us-gaap_LineOfCreditFacilityTable" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongTermDebtOtherDisclosuresAbstract" xlink:label="us-gaap_LongTermDebtOtherDisclosuresAbstract" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="us-gaap_LongTermDebtOtherDisclosuresAbstract" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="bld-20230331.xsd#bld_MinimumPercentageOfDebtImmediatelyDueAndPayable" xlink:label="bld_MinimumPercentageOfDebtImmediatelyDueAndPayable" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_LongTermDebtOtherDisclosuresAbstract" xlink:to="bld_MinimumPercentageOfDebtImmediatelyDueAndPayable" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="bld-20230331.xsd#bld_DebtInstrumentCovenantNetLeverageRatio" xlink:label="bld_DebtInstrumentCovenantNetLeverageRatio" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_LongTermDebtOtherDisclosuresAbstract" xlink:to="bld_DebtInstrumentCovenantNetLeverageRatio" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="bld-20230331.xsd#bld_DebtInstrumentCovenantMinimumInterestCoverageRatio" xlink:label="bld_DebtInstrumentCovenantMinimumInterestCoverageRatio" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_LongTermDebtOtherDisclosuresAbstract" xlink:to="bld_DebtInstrumentCovenantMinimumInterestCoverageRatio" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentInterestRateStatedPercentage" xlink:label="us-gaap_DebtInstrumentInterestRateStatedPercentage" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_LongTermDebtOtherDisclosuresAbstract" xlink:to="us-gaap_DebtInstrumentInterestRateStatedPercentage" priority="1" use="optional" />
  </definitionLink>
  <definitionLink xlink:role="http://www.topbuild.com/role/DisclosureFairValueMeasurementsDetails" xlink:type="extended" xlink:title="40601 - Disclosure - Fair Value Measurements (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable" xlink:label="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentAxis" xlink:label="us-gaap_DebtInstrumentAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable" xlink:to="us-gaap_DebtInstrumentAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentNameDomain" xlink:label="us-gaap_DebtInstrumentNameDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_DebtInstrumentAxis" xlink:to="us-gaap_DebtInstrumentNameDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="bld-20230331.xsd#bld_SeniorNotesDue2029Member" xlink:label="bld_SeniorNotesDue2029Member" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_DebtInstrumentNameDomain" xlink:to="bld_SeniorNotesDue2029Member" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="bld-20230331.xsd#bld_SeniorNotesDue2032Member" xlink:label="bld_SeniorNotesDue2032Member" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_DebtInstrumentNameDomain" xlink:to="bld_SeniorNotesDue2032Member" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueByMeasurementFrequencyAxis" xlink:label="us-gaap_FairValueByMeasurementFrequencyAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="2" xlink:from="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable" xlink:to="us-gaap_FairValueByMeasurementFrequencyAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueMeasurementFrequencyDomain" xlink:label="us-gaap_FairValueMeasurementFrequencyDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_FairValueByMeasurementFrequencyAxis" xlink:to="us-gaap_FairValueMeasurementFrequencyDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueMeasurementsNonrecurringMember" xlink:label="us-gaap_FairValueMeasurementsNonrecurringMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_FairValueMeasurementFrequencyDomain" xlink:to="us-gaap_FairValueMeasurementsNonrecurringMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueByFairValueHierarchyLevelAxis" xlink:label="us-gaap_FairValueByFairValueHierarchyLevelAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="3" xlink:from="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable" xlink:to="us-gaap_FairValueByFairValueHierarchyLevelAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueMeasurementsFairValueHierarchyDomain" xlink:label="us-gaap_FairValueMeasurementsFairValueHierarchyDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_FairValueByFairValueHierarchyLevelAxis" xlink:to="us-gaap_FairValueMeasurementsFairValueHierarchyDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueInputsLevel1Member" xlink:label="us-gaap_FairValueInputsLevel1Member" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_FairValueMeasurementsFairValueHierarchyDomain" xlink:to="us-gaap_FairValueInputsLevel1Member" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems" xlink:label="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems" xlink:to="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueInputsQuantitativeInformationAbstract" xlink:label="us-gaap_FairValueInputsQuantitativeInformationAbstract" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems" xlink:to="us-gaap_FairValueInputsQuantitativeInformationAbstract" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentInterestRateStatedPercentage" xlink:label="us-gaap_DebtInstrumentInterestRateStatedPercentage" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_FairValueInputsQuantitativeInformationAbstract" xlink:to="us-gaap_DebtInstrumentInterestRateStatedPercentage" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentFairValue" xlink:label="us-gaap_DebtInstrumentFairValue" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_FairValueInputsQuantitativeInformationAbstract" xlink:to="us-gaap_DebtInstrumentFairValue" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentCarryingAmount" xlink:label="us-gaap_DebtInstrumentCarryingAmount" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_FairValueInputsQuantitativeInformationAbstract" xlink:to="us-gaap_DebtInstrumentCarryingAmount" priority="1" use="optional" />
  </definitionLink>
  <definitionLink xlink:role="http://www.topbuild.com/role/DisclosureSegmentInformationDetails" xlink:type="extended" xlink:title="40701 - Disclosure - Segment Information (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable" xlink:label="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ConsolidationItemsAxis" xlink:label="srt_ConsolidationItemsAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable" xlink:to="srt_ConsolidationItemsAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ConsolidationItemsDomain" xlink:label="srt_ConsolidationItemsDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="srt_ConsolidationItemsAxis" xlink:to="srt_ConsolidationItemsDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingSegmentsMember" xlink:label="us-gaap_OperatingSegmentsMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="srt_ConsolidationItemsDomain" xlink:to="us-gaap_OperatingSegmentsMember" use="optional" />
    <loc xlink:type="locator" xlink:href="bld-20230331.xsd#bld_EliminationsAndReconcilingItemsMember" xlink:label="bld_EliminationsAndReconcilingItemsMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="srt_ConsolidationItemsDomain" xlink:to="bld_EliminationsAndReconcilingItemsMember" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IntersegmentEliminationMember" xlink:label="us-gaap_IntersegmentEliminationMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="bld_EliminationsAndReconcilingItemsMember" xlink:to="us-gaap_IntersegmentEliminationMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CorporateNonSegmentMember" xlink:label="us-gaap_CorporateNonSegmentMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="srt_ConsolidationItemsDomain" xlink:to="us-gaap_CorporateNonSegmentMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementBusinessSegmentsAxis" xlink:label="us-gaap_StatementBusinessSegmentsAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="2" xlink:from="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable" xlink:to="us-gaap_StatementBusinessSegmentsAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SegmentDomain" xlink:label="us-gaap_SegmentDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_StatementBusinessSegmentsAxis" xlink:to="us-gaap_SegmentDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="bld-20230331.xsd#bld_InstallationSegmentMember" xlink:label="bld_InstallationSegmentMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_SegmentDomain" xlink:to="bld_InstallationSegmentMember" use="optional" />
    <loc xlink:type="locator" xlink:href="bld-20230331.xsd#bld_DistributionSegmentMember" xlink:label="bld_DistributionSegmentMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_SegmentDomain" xlink:to="bld_DistributionSegmentMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SegmentReportingInformationLineItems" xlink:label="us-gaap_SegmentReportingInformationLineItems" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="us-gaap_SegmentReportingInformationLineItems" xlink:to="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" xlink:label="us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_SegmentReportingInformationLineItems" xlink:to="us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingIncomeLoss" xlink:label="us-gaap_OperatingIncomeLoss" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_SegmentReportingInformationLineItems" xlink:to="us-gaap_OperatingIncomeLoss" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingExpenses" xlink:label="us-gaap_OperatingExpenses" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_SegmentReportingInformationLineItems" xlink:to="us-gaap_OperatingExpenses" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NonoperatingIncomeExpense" xlink:label="us-gaap_NonoperatingIncomeExpense" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="us-gaap_SegmentReportingInformationLineItems" xlink:to="us-gaap_NonoperatingIncomeExpense" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="6" xlink:from="us-gaap_SegmentReportingInformationLineItems" xlink:to="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_Assets" xlink:label="us-gaap_Assets" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="7" xlink:from="us-gaap_SegmentReportingInformationLineItems" xlink:to="us-gaap_Assets" priority="1" use="optional" />
  </definitionLink>
  <definitionLink xlink:role="http://www.topbuild.com/role/DisclosureNetIncomePerShareCalculationDetails" xlink:type="extended" xlink:title="40901 - Disclosure - Net Income Per Share - Calculation (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" />
    <loc xlink:type="locator" xlink:href="bld-20230331.xsd#bld_VestingCriteriaAxis" xlink:label="bld_VestingCriteriaAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="us-gaap_StatementTable" xlink:to="bld_VestingCriteriaAxis" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="bld-20230331.xsd#bld_VestingCriteriaDomain" xlink:label="bld_VestingCriteriaDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="bld_VestingCriteriaAxis" xlink:to="bld_VestingCriteriaDomain" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="bld-20230331.xsd#bld_VestingBasedOnServiceMember" xlink:label="bld_VestingBasedOnServiceMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="bld_VestingCriteriaDomain" xlink:to="bld_VestingBasedOnServiceMember" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="bld-20230331.xsd#bld_VestingBasedOnMarketConditionsMember" xlink:label="bld_VestingBasedOnMarketConditionsMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="bld_VestingCriteriaDomain" xlink:to="bld_VestingBasedOnMarketConditionsMember" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="bld-20230331.xsd#bld_VestingBasedOnPerformanceMember" xlink:label="bld_VestingBasedOnPerformanceMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="bld_VestingCriteriaDomain" xlink:to="bld_VestingBasedOnPerformanceMember" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetIncomeLoss" xlink:label="us-gaap_NetIncomeLoss" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_NetIncomeLoss" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:label="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustmentAbstract" xlink:label="us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustmentAbstract" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustmentAbstract" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="bld-20230331.xsd#bld_IncrementalCommonSharesAttributableToDilutiveEffectOfRestrictedStockAwards" xlink:label="bld_IncrementalCommonSharesAttributableToDilutiveEffectOfRestrictedStockAwards" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustmentAbstract" xlink:to="bld_IncrementalCommonSharesAttributableToDilutiveEffectOfRestrictedStockAwards" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="bld-20230331.xsd#bld_IncrementalCommonSharesAttributableToDilutiveEffectOfStockOptions" xlink:label="bld_IncrementalCommonSharesAttributableToDilutiveEffectOfStockOptions" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustmentAbstract" xlink:to="bld_IncrementalCommonSharesAttributableToDilutiveEffectOfStockOptions" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:label="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustmentAbstract" xlink:to="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EarningsPerShareBasic" xlink:label="us-gaap_EarningsPerShareBasic" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_EarningsPerShareBasic" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EarningsPerShareDiluted" xlink:label="us-gaap_EarningsPerShareDiluted" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="6" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_EarningsPerShareDiluted" priority="1" use="optional" />
  </definitionLink>
  <definitionLink xlink:role="http://www.topbuild.com/role/DisclosureNetIncomePerShareAntiDilutiveCommonStockEquivalentsDetails" xlink:type="extended" xlink:title="40902 - Disclosure - Net Income Per Share - Anti-dilutive common stock equivalents (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable" xlink:label="us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis" xlink:label="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable" xlink:to="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AntidilutiveSecuritiesNameDomain" xlink:label="us-gaap_AntidilutiveSecuritiesNameDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis" xlink:to="us-gaap_AntidilutiveSecuritiesNameDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RestrictedStockMember" xlink:label="us-gaap_RestrictedStockMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_AntidilutiveSecuritiesNameDomain" xlink:to="us-gaap_RestrictedStockMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EmployeeStockOptionMember" xlink:label="us-gaap_EmployeeStockOptionMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_AntidilutiveSecuritiesNameDomain" xlink:to="us-gaap_EmployeeStockOptionMember" use="optional" />
    <loc xlink:type="locator" xlink:href="bld-20230331.xsd#bld_VestingCriteriaAxis" xlink:label="bld_VestingCriteriaAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="2" xlink:from="us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable" xlink:to="bld_VestingCriteriaAxis" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="bld-20230331.xsd#bld_VestingCriteriaDomain" xlink:label="bld_VestingCriteriaDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="bld_VestingCriteriaAxis" xlink:to="bld_VestingCriteriaDomain" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="bld-20230331.xsd#bld_VestingBasedOnServiceMember" xlink:label="bld_VestingBasedOnServiceMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="bld_VestingCriteriaDomain" xlink:to="bld_VestingBasedOnServiceMember" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="bld-20230331.xsd#bld_VestingBasedOnMarketConditionsMember" xlink:label="bld_VestingBasedOnMarketConditionsMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="bld_VestingCriteriaDomain" xlink:to="bld_VestingBasedOnMarketConditionsMember" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="bld-20230331.xsd#bld_VestingBasedOnPerformanceMember" xlink:label="bld_VestingBasedOnPerformanceMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="bld_VestingCriteriaDomain" xlink:to="bld_VestingBasedOnPerformanceMember" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems" xlink:label="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems" xlink:to="us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" xlink:label="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems" xlink:to="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" priority="1" use="optional" />
  </definitionLink>
  <definitionLink xlink:role="http://www.topbuild.com/role/DisclosureShareBasedCompensationExpenseDetails" xlink:type="extended" xlink:title="41001 - Disclosure - Share-Based Compensation - Expense (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable" xlink:label="us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PlanNameAxis" xlink:label="us-gaap_PlanNameAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable" xlink:to="us-gaap_PlanNameAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PlanNameDomain" xlink:label="us-gaap_PlanNameDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_PlanNameAxis" xlink:to="us-gaap_PlanNameDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="bld-20230331.xsd#bld_LongTermIncentivePlanMember" xlink:label="bld_LongTermIncentivePlanMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_PlanNameDomain" xlink:to="bld_LongTermIncentivePlanMember" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_RangeAxis" xlink:label="srt_RangeAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="2" xlink:from="us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable" xlink:to="srt_RangeAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_RangeMember" xlink:label="srt_RangeMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="srt_RangeAxis" xlink:to="srt_RangeMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_MaximumMember" xlink:label="srt_MaximumMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="srt_RangeMember" xlink:to="srt_MaximumMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems" xlink:label="us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems" xlink:to="us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AllocatedShareBasedCompensationExpense" xlink:label="us-gaap_AllocatedShareBasedCompensationExpense" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems" xlink:to="us-gaap_AllocatedShareBasedCompensationExpense" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense" xlink:label="us-gaap_EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems" xlink:to="us-gaap_EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense" priority="1" use="optional" />
  </definitionLink>
  <definitionLink xlink:role="http://www.topbuild.com/role/DisclosureShareBasedCompensationActivityDetails" xlink:type="extended" xlink:title="41002 - Disclosure - Share-Based Compensation - Activity (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:label="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AwardTypeAxis" xlink:label="us-gaap_AwardTypeAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="us-gaap_AwardTypeAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_AwardTypeAxis" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RestrictedStockMember" xlink:label="us-gaap_RestrictedStockMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="us-gaap_RestrictedStockMember" use="optional" />
    <loc xlink:type="locator" xlink:href="bld-20230331.xsd#bld_RestrictedStockAwardsGrantedFebruary2020Member" xlink:label="bld_RestrictedStockAwardsGrantedFebruary2020Member" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_RestrictedStockMember" xlink:to="bld_RestrictedStockAwardsGrantedFebruary2020Member" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EmployeeStockOptionMember" xlink:label="us-gaap_EmployeeStockOptionMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="us-gaap_EmployeeStockOptionMember" use="optional" />
    <loc xlink:type="locator" xlink:href="bld-20230331.xsd#bld_VestingCriteriaAxis" xlink:label="bld_VestingCriteriaAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="2" xlink:from="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="bld_VestingCriteriaAxis" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="bld-20230331.xsd#bld_VestingCriteriaDomain" xlink:label="bld_VestingCriteriaDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="bld_VestingCriteriaAxis" xlink:to="bld_VestingCriteriaDomain" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="bld-20230331.xsd#bld_VestingBasedOnPerformanceMember" xlink:label="bld_VestingBasedOnPerformanceMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="bld_VestingCriteriaDomain" xlink:to="bld_VestingBasedOnPerformanceMember" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="bld-20230331.xsd#bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeAxis" xlink:label="bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="3" xlink:from="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeAxis" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="bld-20230331.xsd#bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeDomain" xlink:label="bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeAxis" xlink:to="bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeDomain" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="bld-20230331.xsd#bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeOneMember" xlink:label="bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeOneMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeDomain" xlink:to="bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeOneMember" use="optional" />
    <loc xlink:type="locator" xlink:href="bld-20230331.xsd#bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeTwoMember" xlink:label="bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeTwoMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeDomain" xlink:to="bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeTwoMember" use="optional" />
    <loc xlink:type="locator" xlink:href="bld-20230331.xsd#bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeThreeMember" xlink:label="bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeThreeMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeDomain" xlink:to="bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeThreeMember" use="optional" />
    <loc xlink:type="locator" xlink:href="bld-20230331.xsd#bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeFourMember" xlink:label="bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeFourMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeDomain" xlink:to="bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeFourMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="bld-20230331.xsd#bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsConvertedExercisedInPeriod" xlink:label="bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsConvertedExercisedInPeriod" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward" xlink:to="bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsConvertedExercisedInPeriod" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="bld-20230331.xsd#bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedOrExpiredInPeriod" xlink:label="bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedOrExpiredInPeriod" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward" xlink:to="bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedOrExpiredInPeriod" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="bld-20230331.xsd#bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsConvertedExercisedWeightedAverageGrantDateFairValue" xlink:label="bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsConvertedExercisedWeightedAverageGrantDateFairValue" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward" xlink:to="bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsConvertedExercisedWeightedAverageGrantDateFairValue" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="bld-20230331.xsd#bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedOrExpiredWeightedAverageGrantDateFairValue" xlink:label="bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedOrExpiredWeightedAverageGrantDateFairValue" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward" xlink:to="bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedOrExpiredWeightedAverageGrantDateFairValue" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised" xlink:label="us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward" xlink:to="us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValueAbstract" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValueAbstract" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValueAbstract" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValueAbstract" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="bld-20230331.xsd#bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsConvertedExercisedWeightedAverageGrantDateFairValue" xlink:label="bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsConvertedExercisedWeightedAverageGrantDateFairValue" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValueAbstract" xlink:to="bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsConvertedExercisedWeightedAverageGrantDateFairValue" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="6" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosuresAbstract" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosuresAbstract" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="7" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosuresAbstract" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosuresAbstract" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosuresAbstract" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosuresAbstract" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="bld-20230331.xsd#bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageGrantDateFairValue" xlink:label="bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageGrantDateFairValue" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosuresAbstract" xlink:to="bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageGrantDateFairValue" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosuresAbstract" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="6" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosuresAbstract" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageRemainingContractualTerm1" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageRemainingContractualTerm1" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="7" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosuresAbstract" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageRemainingContractualTerm1" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedAbstract" xlink:label="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedAbstract" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="8" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedAbstract" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions" xlink:label="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedAbstract" xlink:to="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions" xlink:label="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedAbstract" xlink:to="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" xlink:label="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedAbstract" xlink:to="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized" xlink:label="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedAbstract" xlink:to="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdditionalDisclosuresAbstract" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdditionalDisclosuresAbstract" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="9" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdditionalDisclosuresAbstract" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="bld-20230331.xsd#bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardOtherThanOptionsGrantsInPeriodTotalGrantDateFairValue" xlink:label="bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardOtherThanOptionsGrantsInPeriodTotalGrantDateFairValue" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdditionalDisclosuresAbstract" xlink:to="bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardOtherThanOptionsGrantsInPeriodTotalGrantDateFairValue" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="bld-20230331.xsd#bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangePercentage" xlink:label="bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangePercentage" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdditionalDisclosuresAbstract" xlink:to="bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangePercentage" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="bld-20230331.xsd#bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeRelatedExpenses" xlink:label="bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeRelatedExpenses" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdditionalDisclosuresAbstract" xlink:to="bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeRelatedExpenses" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="bld-20230331.xsd#bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardOtherThanOptionsGrantsCumulativePeriodOfAchievement" xlink:label="bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardOtherThanOptionsGrantsCumulativePeriodOfAchievement" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdditionalDisclosuresAbstract" xlink:to="bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardOtherThanOptionsGrantsCumulativePeriodOfAchievement" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="bld-20230331.xsd#bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardOtherThanOptionsGrantsCumulativePeriodOfAchievementPercentage" xlink:label="bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardOtherThanOptionsGrantsCumulativePeriodOfAchievementPercentage" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdditionalDisclosuresAbstract" xlink:to="bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardOtherThanOptionsGrantsCumulativePeriodOfAchievementPercentage" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="bld-20230331.xsd#bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardOtherThanOptionsGrantsTotalCompensationExpenseRecognizedOverPerformancePeriod" xlink:label="bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardOtherThanOptionsGrantsTotalCompensationExpenseRecognizedOverPerformancePeriod" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="6" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdditionalDisclosuresAbstract" xlink:to="bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardOtherThanOptionsGrantsTotalCompensationExpenseRecognizedOverPerformancePeriod" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsAndMethodologyAbstract" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsAndMethodologyAbstract" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="10" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsAndMethodologyAbstract" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="bld-20230331.xsd#bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRemainingMeasurementPeriod" xlink:label="bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRemainingMeasurementPeriod" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsAndMethodologyAbstract" xlink:to="bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRemainingMeasurementPeriod" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsAndMethodologyAbstract" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsAndMethodologyAbstract" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="bld-20230331.xsd#bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsEstimatedFairValueOfAwardsGranted" xlink:label="bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsEstimatedFairValueOfAwardsGranted" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsAndMethodologyAbstract" xlink:to="bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsEstimatedFairValueOfAwardsGranted" priority="1" use="optional" />
  </definitionLink>
  <definitionLink xlink:role="http://www.topbuild.com/role/DisclosureBusinessCombinationsSummaryDetails" xlink:type="extended" xlink:title="41101 - Disclosure - Business Combinations - Summary (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable" xlink:label="us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessAcquisitionAxis" xlink:label="us-gaap_BusinessAcquisitionAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable" xlink:to="us-gaap_BusinessAcquisitionAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessAcquisitionAcquireeDomain" xlink:label="us-gaap_BusinessAcquisitionAcquireeDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_BusinessAcquisitionAxis" xlink:to="us-gaap_BusinessAcquisitionAcquireeDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="bld-20230331.xsd#bld_SriHoldingsMember" xlink:label="bld_SriHoldingsMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="bld_SriHoldingsMember" use="optional" />
    <loc xlink:type="locator" xlink:href="bld-20230331.xsd#bld_Acquisitions2022Member" xlink:label="bld_Acquisitions2022Member" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="bld_Acquisitions2022Member" use="optional" />
    <loc xlink:type="locator" xlink:href="bld-20230331.xsd#bld_BillingsInsulationServiceInc.Member" xlink:label="bld_BillingsInsulationServiceInc.Member" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="bld_BillingsInsulationServiceInc.Member" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SeriesOfIndividuallyImmaterialBusinessAcquisitionsMember" xlink:label="us-gaap_SeriesOfIndividuallyImmaterialBusinessAcquisitionsMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="us-gaap_SeriesOfIndividuallyImmaterialBusinessAcquisitionsMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessAcquisitionLineItems" xlink:label="us-gaap_BusinessAcquisitionLineItems" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="us-gaap_BusinessAcquisitionLineItems" xlink:to="us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessCombinationAcquisitionRelatedCosts" xlink:label="us-gaap_BusinessCombinationAcquisitionRelatedCosts" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_BusinessAcquisitionLineItems" xlink:to="us-gaap_BusinessCombinationAcquisitionRelatedCosts" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessCombinationConsiderationTransferred1" xlink:label="us-gaap_BusinessCombinationConsiderationTransferred1" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_BusinessAcquisitionLineItems" xlink:to="us-gaap_BusinessCombinationConsiderationTransferred1" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_Goodwill" xlink:label="us-gaap_Goodwill" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_BusinessAcquisitionLineItems" xlink:to="us-gaap_Goodwill" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessCombinationDescriptionAbstract" xlink:label="us-gaap_BusinessCombinationDescriptionAbstract" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="us-gaap_BusinessAcquisitionLineItems" xlink:to="us-gaap_BusinessCombinationDescriptionAbstract" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PaymentsToAcquireBusinessesGross" xlink:label="us-gaap_PaymentsToAcquireBusinessesGross" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_BusinessCombinationDescriptionAbstract" xlink:to="us-gaap_PaymentsToAcquireBusinessesGross" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GoodwillAcquiredDuringPeriod" xlink:label="us-gaap_GoodwillAcquiredDuringPeriod" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_BusinessCombinationDescriptionAbstract" xlink:to="us-gaap_GoodwillAcquiredDuringPeriod" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessAcquisitionPurchasePriceAllocationGoodwillExpectedTaxDeductibleAmount" xlink:label="us-gaap_BusinessAcquisitionPurchasePriceAllocationGoodwillExpectedTaxDeductibleAmount" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_BusinessCombinationDescriptionAbstract" xlink:to="us-gaap_BusinessAcquisitionPurchasePriceAllocationGoodwillExpectedTaxDeductibleAmount" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNetAbstract" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNetAbstract" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="6" xlink:from="us-gaap_BusinessAcquisitionLineItems" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNetAbstract" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNetAbstract" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet" priority="1" use="optional" />
  </definitionLink>
</link:linkbase>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.LAB
<SEQUENCE>9
<FILENAME>bld-20230331_lab.xml
<DESCRIPTION>EX-101.LAB
<TEXT>
<XBRL>
<?xml version="1.0" encoding="us-ascii"?>
<!--XBRL document created with Toppan Merrill Bridge  10.2.5.9 -->
<!--Based on XBRL 2.1-->
<!--Created on: 5/4/2023 5:12:08 PM-->
<!--Modified on: 5/4/2023 5:12:08 PM-->
<link:linkbase xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.xbrl.org/2003/linkbase http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd" xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xbrldt="http://xbrl.org/2005/xbrldt">
  <roleRef xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedLabel" roleURI="http://www.xbrl.org/2009/role/negatedLabel" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedTerseLabel" roleURI="http://www.xbrl.org/2009/role/negatedTerseLabel" xmlns="http://www.xbrl.org/2003/linkbase" />
  <link:labelLink xlink:type="extended" xlink:role="http://www.xbrl.org/2003/role/link">
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_CoverAbstract" xlink:label="dei_CoverAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_CoverAbstract" xlink:to="dei_CoverAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_CoverAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Cover page.</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_DocumentInformationTable" xlink:label="dei_DocumentInformationTable" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentInformationTable" xlink:to="dei_DocumentInformationTable_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_DocumentInformationTable_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Document Information [Table]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_DocumentInformationLineItems" xlink:label="dei_DocumentInformationLineItems" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_DocumentInformationLineItems_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_DocumentInformationLineItems_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Document Information [Line Items]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityRegistrantName" xlink:label="dei_EntityRegistrantName" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityRegistrantName" xlink:to="dei_EntityRegistrantName_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityRegistrantName_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Entity Registrant Name</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityCentralIndexKey" xlink:label="dei_EntityCentralIndexKey" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityCentralIndexKey" xlink:to="dei_EntityCentralIndexKey_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityCentralIndexKey_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Entity Central Index Key</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_DocumentType" xlink:label="dei_DocumentType" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentType" xlink:to="dei_DocumentType_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_DocumentType_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Document Type</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_DocumentQuarterlyReport" xlink:label="dei_DocumentQuarterlyReport" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentQuarterlyReport" xlink:to="dei_DocumentQuarterlyReport_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_DocumentQuarterlyReport_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Document Quarterly Report</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_DocumentPeriodEndDate" xlink:label="dei_DocumentPeriodEndDate" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentPeriodEndDate" xlink:to="dei_DocumentPeriodEndDate_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_DocumentPeriodEndDate_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Document Period End Date</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_DocumentTransitionReport" xlink:label="dei_DocumentTransitionReport" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentTransitionReport" xlink:to="dei_DocumentTransitionReport_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_DocumentTransitionReport_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Document Transition Report</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityFileNumber" xlink:label="dei_EntityFileNumber" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityFileNumber" xlink:to="dei_EntityFileNumber_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityFileNumber_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Entity File Number</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityIncorporationStateCountryCode" xlink:label="dei_EntityIncorporationStateCountryCode" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityIncorporationStateCountryCode" xlink:to="dei_EntityIncorporationStateCountryCode_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityIncorporationStateCountryCode_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Entity Incorporation, State or Country Code</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityTaxIdentificationNumber" xlink:label="dei_EntityTaxIdentificationNumber" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityTaxIdentificationNumber" xlink:to="dei_EntityTaxIdentificationNumber_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityTaxIdentificationNumber_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Entity Tax Identification Number</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityAddressAddressLine1" xlink:label="dei_EntityAddressAddressLine1" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityAddressAddressLine1" xlink:to="dei_EntityAddressAddressLine1_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityAddressAddressLine1_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Entity Address, Address Line One</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityAddressCityOrTown" xlink:label="dei_EntityAddressCityOrTown" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityAddressCityOrTown" xlink:to="dei_EntityAddressCityOrTown_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityAddressCityOrTown_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Entity Address, City or Town</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityAddressStateOrProvince" xlink:label="dei_EntityAddressStateOrProvince" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityAddressStateOrProvince" xlink:to="dei_EntityAddressStateOrProvince_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityAddressStateOrProvince_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Entity Address, State or Province</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityAddressPostalZipCode" xlink:label="dei_EntityAddressPostalZipCode" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityAddressPostalZipCode" xlink:to="dei_EntityAddressPostalZipCode_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityAddressPostalZipCode_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Entity Address, Postal Zip Code</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_CityAreaCode" xlink:label="dei_CityAreaCode" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_CityAreaCode" xlink:to="dei_CityAreaCode_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_CityAreaCode_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">City Area Code</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LocalPhoneNumber" xlink:label="dei_LocalPhoneNumber" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_LocalPhoneNumber" xlink:to="dei_LocalPhoneNumber_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_LocalPhoneNumber_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Local Phone Number</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_Security12bTitle" xlink:label="dei_Security12bTitle" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_Security12bTitle" xlink:to="dei_Security12bTitle_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_Security12bTitle_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Title of 12(b) Security</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_TradingSymbol" xlink:label="dei_TradingSymbol" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_TradingSymbol" xlink:to="dei_TradingSymbol_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_TradingSymbol_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Trading Symbol</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_SecurityExchangeName" xlink:label="dei_SecurityExchangeName" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_SecurityExchangeName" xlink:to="dei_SecurityExchangeName_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_SecurityExchangeName_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Security Exchange Name</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_AmendmentFlag" xlink:label="dei_AmendmentFlag" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_AmendmentFlag" xlink:to="dei_AmendmentFlag_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_AmendmentFlag_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Amendment Flag</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_CurrentFiscalYearEndDate" xlink:label="dei_CurrentFiscalYearEndDate" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_CurrentFiscalYearEndDate" xlink:to="dei_CurrentFiscalYearEndDate_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_CurrentFiscalYearEndDate_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Current Fiscal Year End Date</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityCurrentReportingStatus" xlink:label="dei_EntityCurrentReportingStatus" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityCurrentReportingStatus" xlink:to="dei_EntityCurrentReportingStatus_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityCurrentReportingStatus_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Entity Current Reporting Status</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityInteractiveDataCurrent" xlink:label="dei_EntityInteractiveDataCurrent" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityInteractiveDataCurrent" xlink:to="dei_EntityInteractiveDataCurrent_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityInteractiveDataCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Entity Interactive Data Current</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityFilerCategory" xlink:label="dei_EntityFilerCategory" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityFilerCategory" xlink:to="dei_EntityFilerCategory_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityFilerCategory_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Entity Filer Category</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityCommonStockSharesOutstanding" xlink:label="dei_EntityCommonStockSharesOutstanding" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityCommonStockSharesOutstanding" xlink:to="dei_EntityCommonStockSharesOutstanding_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityCommonStockSharesOutstanding_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Entity Common Stock, Shares Outstanding</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_DocumentFiscalYearFocus" xlink:label="dei_DocumentFiscalYearFocus" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentFiscalYearFocus" xlink:to="dei_DocumentFiscalYearFocus_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_DocumentFiscalYearFocus_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Document Fiscal Year Focus</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_DocumentFiscalPeriodFocus" xlink:label="dei_DocumentFiscalPeriodFocus" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentFiscalPeriodFocus" xlink:to="dei_DocumentFiscalPeriodFocus_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_DocumentFiscalPeriodFocus_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Document Fiscal Period Focus</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntitySmallBusiness" xlink:label="dei_EntitySmallBusiness" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntitySmallBusiness" xlink:to="dei_EntitySmallBusiness_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntitySmallBusiness_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Entity Small Business</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityEmergingGrowthCompany" xlink:label="dei_EntityEmergingGrowthCompany" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityEmergingGrowthCompany" xlink:to="dei_EntityEmergingGrowthCompany_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityEmergingGrowthCompany_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Entity Emerging Growth Company</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityShellCompany" xlink:label="dei_EntityShellCompany" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityShellCompany" xlink:to="dei_EntityShellCompany_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityShellCompany_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Entity Shell Company</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementOfFinancialPositionAbstract" xlink:label="us-gaap_StatementOfFinancialPositionAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StatementOfFinancialPositionAbstract" xlink:to="us-gaap_StatementOfFinancialPositionAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StatementOfFinancialPositionAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">CONDENSED CONSOLIDATED BALANCE SHEETS</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementTable_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StatementTable_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Statement [Table]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementLineItems_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StatementLineItems_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Statement [Line Items]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_StatementLineItems_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Statement</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AssetsAbstract" xlink:label="us-gaap_AssetsAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AssetsAbstract" xlink:to="us-gaap_AssetsAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AssetsAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Assets [Abstract]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_AssetsAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">ASSETS</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AssetsCurrentAbstract" xlink:label="us-gaap_AssetsCurrentAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AssetsCurrentAbstract" xlink:to="us-gaap_AssetsCurrentAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AssetsCurrentAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Assets, Current [Abstract]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_AssetsCurrentAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Current assets:</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:label="us-gaap_CashAndCashEquivalentsAtCarryingValue" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:to="us-gaap_CashAndCashEquivalentsAtCarryingValue_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CashAndCashEquivalentsAtCarryingValue_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Cash and Cash Equivalents, at Carrying Value</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_CashAndCashEquivalentsAtCarryingValue_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Cash and cash equivalents</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccountsReceivableNetCurrent" xlink:label="us-gaap_AccountsReceivableNetCurrent" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccountsReceivableNetCurrent" xlink:to="us-gaap_AccountsReceivableNetCurrent_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AccountsReceivableNetCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Accounts Receivable, Net, Current</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_AccountsReceivableNetCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Receivables, net of an allowance for credit losses of $16,007 at March 31, 2023, and $16,281 at December 31, 2022</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InventoryNet" xlink:label="us-gaap_InventoryNet" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InventoryNet" xlink:to="us-gaap_InventoryNet_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_InventoryNet_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Inventory, Net</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_InventoryNet_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Inventories, net</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PrepaidExpenseAndOtherAssetsCurrent" xlink:label="us-gaap_PrepaidExpenseAndOtherAssetsCurrent" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PrepaidExpenseAndOtherAssetsCurrent" xlink:to="us-gaap_PrepaidExpenseAndOtherAssetsCurrent_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PrepaidExpenseAndOtherAssetsCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Prepaid Expense and Other Assets, Current</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_PrepaidExpenseAndOtherAssetsCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Prepaid expenses and other current assets</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AssetsCurrent" xlink:label="us-gaap_AssetsCurrent" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AssetsCurrent" xlink:to="us-gaap_AssetsCurrent_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AssetsCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Assets, Current</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_AssetsCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Total current assets</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLeaseRightOfUseAsset" xlink:label="us-gaap_OperatingLeaseRightOfUseAsset" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLeaseRightOfUseAsset" xlink:to="us-gaap_OperatingLeaseRightOfUseAsset_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OperatingLeaseRightOfUseAsset_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Operating Lease, Right-of-Use Asset</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_OperatingLeaseRightOfUseAsset_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Right of use assets</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization" xlink:label="us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization" xlink:to="us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Property, Plant, and Equipment and Finance Lease Right-of-Use Asset, after Accumulated Depreciation and Amortization</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Property and equipment, net</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_Goodwill" xlink:label="us-gaap_Goodwill" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_Goodwill" xlink:to="us-gaap_Goodwill_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_Goodwill_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Goodwill</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_Goodwill_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Goodwill</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_Goodwill_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Net Goodwill</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsNet" xlink:label="us-gaap_FiniteLivedIntangibleAssetsNet" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetsNet" xlink:to="us-gaap_FiniteLivedIntangibleAssetsNet_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FiniteLivedIntangibleAssetsNet_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Finite-Lived Intangible Assets, Net</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_FiniteLivedIntangibleAssetsNet_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Net definite-lived intangible assets</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_FiniteLivedIntangibleAssetsNet_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Other intangible assets, net</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherAssetsNoncurrent" xlink:label="us-gaap_OtherAssetsNoncurrent" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherAssetsNoncurrent" xlink:to="us-gaap_OtherAssetsNoncurrent_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OtherAssetsNoncurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Other Assets, Noncurrent</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_OtherAssetsNoncurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Other assets</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_Assets" xlink:label="us-gaap_Assets" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_Assets" xlink:to="us-gaap_Assets_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_Assets_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Assets</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_Assets_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Total Assets</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_Assets_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Total assets</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LiabilitiesAndStockholdersEquityAbstract" xlink:label="us-gaap_LiabilitiesAndStockholdersEquityAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LiabilitiesAndStockholdersEquityAbstract" xlink:to="us-gaap_LiabilitiesAndStockholdersEquityAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LiabilitiesAndStockholdersEquityAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Liabilities and Equity [Abstract]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_LiabilitiesAndStockholdersEquityAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">LIABILITIES AND EQUITY</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LiabilitiesCurrentAbstract" xlink:label="us-gaap_LiabilitiesCurrentAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LiabilitiesCurrentAbstract" xlink:to="us-gaap_LiabilitiesCurrentAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LiabilitiesCurrentAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Liabilities, Current [Abstract]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_LiabilitiesCurrentAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Current liabilities:</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccountsPayableCurrent" xlink:label="us-gaap_AccountsPayableCurrent" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccountsPayableCurrent" xlink:to="us-gaap_AccountsPayableCurrent_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AccountsPayableCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Accounts Payable, Current</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_AccountsPayableCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Accounts payable</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongTermDebtCurrent" xlink:label="us-gaap_LongTermDebtCurrent" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LongTermDebtCurrent" xlink:to="us-gaap_LongTermDebtCurrent_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LongTermDebtCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Long-term Debt, Current Maturities</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_LongTermDebtCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Current portion of long-term debt</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_LongTermDebtCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Less: current portion of long-term debt</label>
    <loc xlink:type="locator" xlink:href="bld-20230331.xsd#bld_AccruedLiabilitiesAndEmployeeRelatedLiabilitiesCurrent" xlink:label="bld_AccruedLiabilitiesAndEmployeeRelatedLiabilitiesCurrent" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="bld_AccruedLiabilitiesAndEmployeeRelatedLiabilitiesCurrent" xlink:to="bld_AccruedLiabilitiesAndEmployeeRelatedLiabilitiesCurrent_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="bld_AccruedLiabilitiesAndEmployeeRelatedLiabilitiesCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Carrying value as of the balance sheet date of obligations incurred and payable, pertaining to costs that are statutory in nature, are incurred on contractual obligations, or accumulate over time and for which invoices have not yet been received or will not be rendered. Also includes the total of the carrying values as of the balance sheet date of obligations incurred through that date and payable for obligations related to services received from employees, such as accrued salaries and bonuses, payroll taxes and fringe benefits. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="bld_AccruedLiabilitiesAndEmployeeRelatedLiabilitiesCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Accrued Liabilities and Employee-related Liabilities, Current</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="bld_AccruedLiabilitiesAndEmployeeRelatedLiabilitiesCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Accrued liabilities</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="bld_AccruedLiabilitiesAndEmployeeRelatedLiabilitiesCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Total accrued liabilities</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLeaseLiabilityCurrent" xlink:label="us-gaap_OperatingLeaseLiabilityCurrent" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLeaseLiabilityCurrent" xlink:to="us-gaap_OperatingLeaseLiabilityCurrent_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OperatingLeaseLiabilityCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Operating Lease, Liability, Current</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_OperatingLeaseLiabilityCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Short-term operating lease liabilities</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FinanceLeaseLiabilityCurrent" xlink:label="us-gaap_FinanceLeaseLiabilityCurrent" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FinanceLeaseLiabilityCurrent" xlink:to="us-gaap_FinanceLeaseLiabilityCurrent_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FinanceLeaseLiabilityCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Finance Lease, Liability, Current</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_FinanceLeaseLiabilityCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Short-term finance lease liabilities</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LiabilitiesCurrent" xlink:label="us-gaap_LiabilitiesCurrent" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LiabilitiesCurrent" xlink:to="us-gaap_LiabilitiesCurrent_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LiabilitiesCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Liabilities, Current</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_LiabilitiesCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Total current liabilities</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongTermDebtNoncurrent" xlink:label="us-gaap_LongTermDebtNoncurrent" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LongTermDebtNoncurrent" xlink:to="us-gaap_LongTermDebtNoncurrent_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LongTermDebtNoncurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Long-term Debt, Excluding Current Maturities</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_LongTermDebtNoncurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Long-term debt</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_LongTermDebtNoncurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Total long-term debt</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredIncomeTaxLiabilitiesNet" xlink:label="us-gaap_DeferredIncomeTaxLiabilitiesNet" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredIncomeTaxLiabilitiesNet" xlink:to="us-gaap_DeferredIncomeTaxLiabilitiesNet_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredIncomeTaxLiabilitiesNet_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Deferred Tax Liabilities, Net, Noncurrent</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DeferredIncomeTaxLiabilitiesNet_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Deferred tax liabilities, net</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccruedInsuranceNoncurrent" xlink:label="us-gaap_AccruedInsuranceNoncurrent" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccruedInsuranceNoncurrent" xlink:to="us-gaap_AccruedInsuranceNoncurrent_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AccruedInsuranceNoncurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Accrued Insurance, Noncurrent</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_AccruedInsuranceNoncurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Long-term portion of insurance reserves</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLeaseLiabilityNoncurrent" xlink:label="us-gaap_OperatingLeaseLiabilityNoncurrent" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLeaseLiabilityNoncurrent" xlink:to="us-gaap_OperatingLeaseLiabilityNoncurrent_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OperatingLeaseLiabilityNoncurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Operating Lease, Liability, Noncurrent</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_OperatingLeaseLiabilityNoncurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Long-term operating lease liabilities</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FinanceLeaseLiabilityNoncurrent" xlink:label="us-gaap_FinanceLeaseLiabilityNoncurrent" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FinanceLeaseLiabilityNoncurrent" xlink:to="us-gaap_FinanceLeaseLiabilityNoncurrent_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FinanceLeaseLiabilityNoncurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Finance Lease, Liability, Noncurrent</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_FinanceLeaseLiabilityNoncurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Long-term finance lease liabilities</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherLiabilitiesNoncurrent" xlink:label="us-gaap_OtherLiabilitiesNoncurrent" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherLiabilitiesNoncurrent" xlink:to="us-gaap_OtherLiabilitiesNoncurrent_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OtherLiabilitiesNoncurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Other Liabilities, Noncurrent</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_OtherLiabilitiesNoncurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Other liabilities</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_Liabilities" xlink:label="us-gaap_Liabilities" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_Liabilities" xlink:to="us-gaap_Liabilities_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_Liabilities_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Liabilities</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_Liabilities_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Total liabilities</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommitmentsAndContingencies" xlink:label="us-gaap_CommitmentsAndContingencies" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommitmentsAndContingencies" xlink:to="us-gaap_CommitmentsAndContingencies_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CommitmentsAndContingencies_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Commitments and Contingencies</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_CommitmentsAndContingencies_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Commitments and contingencies</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockholdersEquityAbstract" xlink:label="us-gaap_StockholdersEquityAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockholdersEquityAbstract" xlink:to="us-gaap_StockholdersEquityAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StockholdersEquityAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Stockholders' Equity Attributable to Parent [Abstract]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_StockholdersEquityAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Equity:</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PreferredStockValue" xlink:label="us-gaap_PreferredStockValue" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PreferredStockValue" xlink:to="us-gaap_PreferredStockValue_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PreferredStockValue_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Preferred Stock, Value, Issued</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_PreferredStockValue_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Preferred stock, $0.01 par value: 10,000,000 shares authorized; 0 shares issued and outstanding</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommonStockValue" xlink:label="us-gaap_CommonStockValue" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommonStockValue" xlink:to="us-gaap_CommonStockValue_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CommonStockValue_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Common Stock, Value, Issued</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_CommonStockValue_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Common stock, $0.01 par value: 250,000,000 shares authorized; 39,465,688 shares issued and 31,750,010 outstanding at March 31, 2023, and 39,325,916 shares issued and 31,642,832 outstanding at December 31, 2022</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TreasuryStockCommonValue" xlink:label="us-gaap_TreasuryStockCommonValue" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_TreasuryStockCommonValue" xlink:to="us-gaap_TreasuryStockCommonValue_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_TreasuryStockCommonValue_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Treasury Stock, Value</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_TreasuryStockCommonValue_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Treasury stock, 7,715,678 shares at March 31, 2023, and 7,683,084 shares at December 31, 2022, at cost</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AdditionalPaidInCapitalCommonStock" xlink:label="us-gaap_AdditionalPaidInCapitalCommonStock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AdditionalPaidInCapitalCommonStock" xlink:to="us-gaap_AdditionalPaidInCapitalCommonStock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AdditionalPaidInCapitalCommonStock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Additional Paid in Capital, Common Stock</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_AdditionalPaidInCapitalCommonStock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Additional paid-in capital</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RetainedEarningsAccumulatedDeficit" xlink:label="us-gaap_RetainedEarningsAccumulatedDeficit" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RetainedEarningsAccumulatedDeficit" xlink:to="us-gaap_RetainedEarningsAccumulatedDeficit_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RetainedEarningsAccumulatedDeficit_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Retained Earnings (Accumulated Deficit)</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_RetainedEarningsAccumulatedDeficit_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Retained earnings</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax" xlink:label="us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax" xlink:to="us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Accumulated Other Comprehensive Income (Loss), Net of Tax</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Accumulated other comprehensive loss</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockholdersEquity" xlink:label="us-gaap_StockholdersEquity" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockholdersEquity" xlink:to="us-gaap_StockholdersEquity_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StockholdersEquity_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Stockholders' Equity Attributable to Parent</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:label="us-gaap_StockholdersEquity_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Balance</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:label="us-gaap_StockholdersEquity_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Balance</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_StockholdersEquity_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Total equity</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LiabilitiesAndStockholdersEquity" xlink:label="us-gaap_LiabilitiesAndStockholdersEquity" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LiabilitiesAndStockholdersEquity" xlink:to="us-gaap_LiabilitiesAndStockholdersEquity_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LiabilitiesAndStockholdersEquity_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Liabilities and Equity</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_LiabilitiesAndStockholdersEquity_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Total liabilities and equity</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent" xlink:label="us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent" xlink:to="us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Allowance for Doubtful Accounts Receivable, Current</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Allowance for credit losses</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PreferredStockParOrStatedValuePerShare" xlink:label="us-gaap_PreferredStockParOrStatedValuePerShare" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PreferredStockParOrStatedValuePerShare" xlink:to="us-gaap_PreferredStockParOrStatedValuePerShare_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PreferredStockParOrStatedValuePerShare_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Preferred Stock, Par or Stated Value Per Share</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_PreferredStockParOrStatedValuePerShare_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Preferred stock, par value (in dollars per share)</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PreferredStockSharesAuthorized" xlink:label="us-gaap_PreferredStockSharesAuthorized" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PreferredStockSharesAuthorized" xlink:to="us-gaap_PreferredStockSharesAuthorized_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PreferredStockSharesAuthorized_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Preferred Stock, Shares Authorized</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_PreferredStockSharesAuthorized_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Preferred stock, shares authorized</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PreferredStockSharesIssued" xlink:label="us-gaap_PreferredStockSharesIssued" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PreferredStockSharesIssued" xlink:to="us-gaap_PreferredStockSharesIssued_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PreferredStockSharesIssued_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Preferred Stock, Shares Issued</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_PreferredStockSharesIssued_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Preferred stock, shares, issued</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PreferredStockSharesOutstanding" xlink:label="us-gaap_PreferredStockSharesOutstanding" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PreferredStockSharesOutstanding" xlink:to="us-gaap_PreferredStockSharesOutstanding_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PreferredStockSharesOutstanding_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Preferred Stock, Shares Outstanding</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_PreferredStockSharesOutstanding_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Preferred stock, shares, outstanding</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommonStockParOrStatedValuePerShare" xlink:label="us-gaap_CommonStockParOrStatedValuePerShare" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommonStockParOrStatedValuePerShare" xlink:to="us-gaap_CommonStockParOrStatedValuePerShare_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CommonStockParOrStatedValuePerShare_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Common Stock, Par Value (in dollars per share)</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_CommonStockParOrStatedValuePerShare_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Common stock, par value (in dollars per share)</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommonStockSharesAuthorized" xlink:label="us-gaap_CommonStockSharesAuthorized" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommonStockSharesAuthorized" xlink:to="us-gaap_CommonStockSharesAuthorized_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CommonStockSharesAuthorized_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Common Stock, Shares Authorized</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_CommonStockSharesAuthorized_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Common stock, shares authorized</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommonStockSharesIssued" xlink:label="us-gaap_CommonStockSharesIssued" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommonStockSharesIssued" xlink:to="us-gaap_CommonStockSharesIssued_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CommonStockSharesIssued_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Common Stock, Shares, Issued</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_CommonStockSharesIssued_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Common stock, shares issued</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommonStockSharesOutstanding" xlink:label="us-gaap_CommonStockSharesOutstanding" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommonStockSharesOutstanding" xlink:to="us-gaap_CommonStockSharesOutstanding_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CommonStockSharesOutstanding_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Common Stock, Shares, Outstanding</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_CommonStockSharesOutstanding_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Common stock, shares outstanding</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TreasuryStockCommonShares" xlink:label="us-gaap_TreasuryStockCommonShares" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_TreasuryStockCommonShares" xlink:to="us-gaap_TreasuryStockCommonShares_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_TreasuryStockCommonShares_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Treasury Stock, Shares</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_TreasuryStockCommonShares_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Treasury stock, shares at cost</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeStatementAbstract" xlink:label="us-gaap_IncomeStatementAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeStatementAbstract" xlink:to="us-gaap_IncomeStatementAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncomeStatementAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">CONDENSED CONSOLIDATED STATEMENTS OF OPERATIONS</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" xlink:label="us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" xlink:to="us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Revenues</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Net sales</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CostOfGoodsAndServicesSold" xlink:label="us-gaap_CostOfGoodsAndServicesSold" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CostOfGoodsAndServicesSold" xlink:to="us-gaap_CostOfGoodsAndServicesSold_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CostOfGoodsAndServicesSold_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Cost of Goods and Services Sold</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_CostOfGoodsAndServicesSold_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Cost of sales</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GrossProfit" xlink:label="us-gaap_GrossProfit" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_GrossProfit" xlink:to="us-gaap_GrossProfit_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_GrossProfit_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Gross Profit</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_GrossProfit_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Gross profit</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SellingGeneralAndAdministrativeExpense" xlink:label="us-gaap_SellingGeneralAndAdministrativeExpense" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SellingGeneralAndAdministrativeExpense" xlink:to="us-gaap_SellingGeneralAndAdministrativeExpense_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SellingGeneralAndAdministrativeExpense_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Selling, General and Administrative Expense</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_SellingGeneralAndAdministrativeExpense_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Selling, general, and administrative expense</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingIncomeLoss" xlink:label="us-gaap_OperatingIncomeLoss" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingIncomeLoss" xlink:to="us-gaap_OperatingIncomeLoss_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OperatingIncomeLoss_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Operating Income (Loss)</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_OperatingIncomeLoss_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Operating profit</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_OperatingIncomeLoss_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Operating profit as, reported</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NonoperatingIncomeExpenseAbstract" xlink:label="us-gaap_NonoperatingIncomeExpenseAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NonoperatingIncomeExpenseAbstract" xlink:to="us-gaap_NonoperatingIncomeExpenseAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NonoperatingIncomeExpenseAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Nonoperating Income (Expense) [Abstract]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_NonoperatingIncomeExpenseAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Other income (expense), net:</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InterestExpense" xlink:label="us-gaap_InterestExpense" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InterestExpense" xlink:to="us-gaap_InterestExpense_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_InterestExpense_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Interest Expense</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_InterestExpense_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Interest expense</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherNonoperatingIncomeExpense" xlink:label="us-gaap_OtherNonoperatingIncomeExpense" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherNonoperatingIncomeExpense" xlink:to="us-gaap_OtherNonoperatingIncomeExpense_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OtherNonoperatingIncomeExpense_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Other Nonoperating Income (Expense)</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_OtherNonoperatingIncomeExpense_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Other, net</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NonoperatingIncomeExpense" xlink:label="us-gaap_NonoperatingIncomeExpense" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NonoperatingIncomeExpense" xlink:to="us-gaap_NonoperatingIncomeExpense_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NonoperatingIncomeExpense_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Nonoperating Income (Expense)</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_NonoperatingIncomeExpense_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Other expense, net</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_NonoperatingIncomeExpense_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Other expense, net</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:to="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Income (Loss) from Continuing Operations before Income Taxes, Noncontrolling Interest</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Income before income taxes</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeTaxExpenseBenefit" xlink:label="us-gaap_IncomeTaxExpenseBenefit" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeTaxExpenseBenefit" xlink:to="us-gaap_IncomeTaxExpenseBenefit_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncomeTaxExpenseBenefit_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Income Tax Expense (Benefit)</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_IncomeTaxExpenseBenefit_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Income tax expense</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetIncomeLoss" xlink:label="us-gaap_NetIncomeLoss" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetIncomeLoss" xlink:to="us-gaap_NetIncomeLoss_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NetIncomeLoss_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Net Income (Loss) Attributable to Parent</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_NetIncomeLoss_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Net income</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_NetIncomeLoss_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Net income</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_NetIncomeLoss_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Net income - basic and diluted</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EarningsPerShareAbstract" xlink:label="us-gaap_EarningsPerShareAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EarningsPerShareAbstract" xlink:to="us-gaap_EarningsPerShareAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EarningsPerShareAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Net Income Per Share</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_EarningsPerShareAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Net income per common share:</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EarningsPerShareBasic" xlink:label="us-gaap_EarningsPerShareBasic" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EarningsPerShareBasic" xlink:to="us-gaap_EarningsPerShareBasic_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EarningsPerShareBasic_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Earnings Per Share, Basic</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_EarningsPerShareBasic_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Basic</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_EarningsPerShareBasic_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Basic net income per common share</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EarningsPerShareDiluted" xlink:label="us-gaap_EarningsPerShareDiluted" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EarningsPerShareDiluted" xlink:to="us-gaap_EarningsPerShareDiluted_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EarningsPerShareDiluted_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Earnings Per Share, Diluted</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_EarningsPerShareDiluted_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Diluted</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_EarningsPerShareDiluted_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Diluted net income per common share</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EarningsPerShareReconciliationAbstract" xlink:label="us-gaap_EarningsPerShareReconciliationAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EarningsPerShareReconciliationAbstract" xlink:to="us-gaap_EarningsPerShareReconciliationAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EarningsPerShareReconciliationAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Earnings Per Share, Basic and Diluted, Other Disclosures [Abstract]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_EarningsPerShareReconciliationAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Weighted average shares outstanding:</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:label="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:to="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Weighted Average Number of Shares Outstanding, Basic</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Basic</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Weighted average number of common shares outstanding - basic</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:label="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:to="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Weighted Average Number of Shares Outstanding, Diluted</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Diluted</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Weighted average number of common shares outstanding - diluted</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract" xlink:label="us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract" xlink:to="us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">CONDENSED CONSOLIDATED STATEMENTS OF COMPREHENSIVE INCOME</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract" xlink:label="us-gaap_OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract" xlink:to="us-gaap_OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Other Comprehensive Income (Loss), Net of Tax [Abstract]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Other comprehensive income:</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax" xlink:label="us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax" xlink:to="us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Other Comprehensive Income (Loss), Foreign Currency Transaction and Translation Gain (Loss) Arising During Period, Net of Tax</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Foreign currency translation adjustment</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ComprehensiveIncomeNetOfTax" xlink:label="us-gaap_ComprehensiveIncomeNetOfTax" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ComprehensiveIncomeNetOfTax" xlink:to="us-gaap_ComprehensiveIncomeNetOfTax_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ComprehensiveIncomeNetOfTax_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Comprehensive Income (Loss), Net of Tax, Attributable to Parent</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_ComprehensiveIncomeNetOfTax_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Comprehensive income</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementOfCashFlowsAbstract" xlink:label="us-gaap_StatementOfCashFlowsAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StatementOfCashFlowsAbstract" xlink:to="us-gaap_StatementOfCashFlowsAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StatementOfCashFlowsAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">CONDENSED CONSOLIDATED STATEMENTS OF CASH FLOWS</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivitiesContinuingOperationsAbstract" xlink:label="us-gaap_NetCashProvidedByUsedInOperatingActivitiesContinuingOperationsAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivitiesContinuingOperationsAbstract" xlink:to="us-gaap_NetCashProvidedByUsedInOperatingActivitiesContinuingOperationsAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NetCashProvidedByUsedInOperatingActivitiesContinuingOperationsAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Net Cash Provided by (Used in) Operating Activities, Continuing Operations [Abstract]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_NetCashProvidedByUsedInOperatingActivitiesContinuingOperationsAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Cash Flows Provided by (Used in) Operating Activities:</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProfitLoss" xlink:label="us-gaap_ProfitLoss" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ProfitLoss" xlink:to="us-gaap_ProfitLoss_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ProfitLoss_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Net Income (Loss), Including Portion Attributable to Noncontrolling Interest</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ProfitLoss_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Net income</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:label="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Adjustments to Reconcile Net Income (Loss) to Cash Provided by (Used in) Operating Activities [Abstract]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Adjustments to reconcile net income to net cash provided by operating activities:</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DepreciationDepletionAndAmortization" xlink:label="us-gaap_DepreciationDepletionAndAmortization" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DepreciationDepletionAndAmortization" xlink:to="us-gaap_DepreciationDepletionAndAmortization_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DepreciationDepletionAndAmortization_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Depreciation, Depletion and Amortization</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DepreciationDepletionAndAmortization_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Depreciation and amortization</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensation" xlink:label="us-gaap_ShareBasedCompensation" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensation" xlink:to="us-gaap_ShareBasedCompensation_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensation_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Share-based Compensation</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ShareBasedCompensation_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Share-based compensation</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GainLossOnSaleOfPropertyPlantEquipment" xlink:label="us-gaap_GainLossOnSaleOfPropertyPlantEquipment" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_GainLossOnSaleOfPropertyPlantEquipment" xlink:to="us-gaap_GainLossOnSaleOfPropertyPlantEquipment_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_GainLossOnSaleOfPropertyPlantEquipment_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Gain (Loss) on Disposition of Property Plant Equipment</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_GainLossOnSaleOfPropertyPlantEquipment_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Loss on sale of property and equipment</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AmortizationOfFinancingCosts" xlink:label="us-gaap_AmortizationOfFinancingCosts" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AmortizationOfFinancingCosts" xlink:to="us-gaap_AmortizationOfFinancingCosts_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AmortizationOfFinancingCosts_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Amortization of Financing Costs</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_AmortizationOfFinancingCosts_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Amortization of debt issuance costs</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProvisionForDoubtfulAccounts" xlink:label="us-gaap_ProvisionForDoubtfulAccounts" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ProvisionForDoubtfulAccounts" xlink:to="us-gaap_ProvisionForDoubtfulAccounts_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ProvisionForDoubtfulAccounts_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Provision for Doubtful Accounts</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ProvisionForDoubtfulAccounts_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Provision for bad debt expense</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InventoryWriteDown" xlink:label="us-gaap_InventoryWriteDown" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InventoryWriteDown" xlink:to="us-gaap_InventoryWriteDown_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_InventoryWriteDown_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Inventory Write-down</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_InventoryWriteDown_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Loss from inventory obsolescence</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInDeferredIncomeTaxes" xlink:label="us-gaap_IncreaseDecreaseInDeferredIncomeTaxes" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInDeferredIncomeTaxes" xlink:to="us-gaap_IncreaseDecreaseInDeferredIncomeTaxes_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncreaseDecreaseInDeferredIncomeTaxes_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Increase (Decrease) in Deferred Income Taxes</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_IncreaseDecreaseInDeferredIncomeTaxes_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Deferred income taxes, net</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:label="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:to="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Increase (Decrease) in Operating Capital [Abstract]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Change in certain assets and liabilities:</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInAccountsReceivable" xlink:label="us-gaap_IncreaseDecreaseInAccountsReceivable" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInAccountsReceivable" xlink:to="us-gaap_IncreaseDecreaseInAccountsReceivable_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncreaseDecreaseInAccountsReceivable_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Increase (Decrease) in Accounts Receivable</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_IncreaseDecreaseInAccountsReceivable_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Receivables, net</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInInventories" xlink:label="us-gaap_IncreaseDecreaseInInventories" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInInventories" xlink:to="us-gaap_IncreaseDecreaseInInventories_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncreaseDecreaseInInventories_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Increase (Decrease) in Inventories</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_IncreaseDecreaseInInventories_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Inventories, net</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" xlink:label="us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" xlink:to="us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Increase (Decrease) in Prepaid Expense and Other Assets</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Prepaid expenses and other current assets</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInAccountsPayable" xlink:label="us-gaap_IncreaseDecreaseInAccountsPayable" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInAccountsPayable" xlink:to="us-gaap_IncreaseDecreaseInAccountsPayable_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncreaseDecreaseInAccountsPayable_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Increase (Decrease) in Accounts Payable</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_IncreaseDecreaseInAccountsPayable_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Accounts payable</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInAccruedLiabilities" xlink:label="us-gaap_IncreaseDecreaseInAccruedLiabilities" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInAccruedLiabilities" xlink:to="us-gaap_IncreaseDecreaseInAccruedLiabilities_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncreaseDecreaseInAccruedLiabilities_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Increase (Decrease) in Accrued Liabilities</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_IncreaseDecreaseInAccruedLiabilities_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Accrued liabilities</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherOperatingActivitiesCashFlowStatement" xlink:label="us-gaap_OtherOperatingActivitiesCashFlowStatement" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherOperatingActivitiesCashFlowStatement" xlink:to="us-gaap_OtherOperatingActivitiesCashFlowStatement_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OtherOperatingActivitiesCashFlowStatement_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Other Operating Activities, Cash Flow Statement</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_OtherOperatingActivitiesCashFlowStatement_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Other, net</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:label="us-gaap_NetCashProvidedByUsedInOperatingActivities" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="us-gaap_NetCashProvidedByUsedInOperatingActivities_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NetCashProvidedByUsedInOperatingActivities_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Net Cash Provided by (Used in) Operating Activities, Continuing Operations</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_NetCashProvidedByUsedInOperatingActivities_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Net cash provided by operating activities</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivitiesContinuingOperationsAbstract" xlink:label="us-gaap_NetCashProvidedByUsedInInvestingActivitiesContinuingOperationsAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivitiesContinuingOperationsAbstract" xlink:to="us-gaap_NetCashProvidedByUsedInInvestingActivitiesContinuingOperationsAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NetCashProvidedByUsedInInvestingActivitiesContinuingOperationsAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Net Cash Provided by (Used in) Investing Activities, Continuing Operations [Abstract]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_NetCashProvidedByUsedInInvestingActivitiesContinuingOperationsAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Cash Flows Provided by (Used in) Investing Activities:</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" xlink:label="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" xlink:to="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Payments to Acquire Property, Plant, and Equipment</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Purchases of property and equipment</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired" xlink:label="us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired" xlink:to="us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Payments to Acquire Businesses, Net of Cash Acquired</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:label="us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Acquisition of businesses, net of cash acquired</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment" xlink:label="us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment" xlink:to="us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Proceeds from Sale of Property, Plant, and Equipment</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Proceeds from sale of property and equipment</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:label="us-gaap_NetCashProvidedByUsedInInvestingActivities" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:to="us-gaap_NetCashProvidedByUsedInInvestingActivities_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NetCashProvidedByUsedInInvestingActivities_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Net Cash Provided by (Used in) Investing Activities, Continuing Operations</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_NetCashProvidedByUsedInInvestingActivities_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Net cash used in investing activities</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivitiesContinuingOperationsAbstract" xlink:label="us-gaap_NetCashProvidedByUsedInFinancingActivitiesContinuingOperationsAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesContinuingOperationsAbstract" xlink:to="us-gaap_NetCashProvidedByUsedInFinancingActivitiesContinuingOperationsAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NetCashProvidedByUsedInFinancingActivitiesContinuingOperationsAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Net Cash Provided by (Used in) Financing Activities, Continuing Operations [Abstract]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_NetCashProvidedByUsedInFinancingActivitiesContinuingOperationsAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Cash Flows Provided by (Used in) Financing Activities:</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RepaymentsOfLongTermDebt" xlink:label="us-gaap_RepaymentsOfLongTermDebt" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RepaymentsOfLongTermDebt" xlink:to="us-gaap_RepaymentsOfLongTermDebt_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RepaymentsOfLongTermDebt_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Repayments of Long-term Debt</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_RepaymentsOfLongTermDebt_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Repayment of long-term debt</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation" xlink:label="us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation" xlink:to="us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Payments Related to Tax Withholding for Share-based Compensation</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Taxes withheld and paid on employees' equity awards</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProceedsFromStockOptionsExercised" xlink:label="us-gaap_ProceedsFromStockOptionsExercised" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ProceedsFromStockOptionsExercised" xlink:to="us-gaap_ProceedsFromStockOptionsExercised_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ProceedsFromStockOptionsExercised_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Proceeds from Stock Options Exercised</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ProceedsFromStockOptionsExercised_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Exercise of stock options</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PaymentsForRepurchaseOfCommonStock" xlink:label="us-gaap_PaymentsForRepurchaseOfCommonStock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PaymentsForRepurchaseOfCommonStock" xlink:to="us-gaap_PaymentsForRepurchaseOfCommonStock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PaymentsForRepurchaseOfCommonStock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Payments for Repurchase of Common Stock</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_PaymentsForRepurchaseOfCommonStock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Repurchase of shares of common stock</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PaymentForContingentConsiderationLiabilityFinancingActivities" xlink:label="us-gaap_PaymentForContingentConsiderationLiabilityFinancingActivities" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PaymentForContingentConsiderationLiabilityFinancingActivities" xlink:to="us-gaap_PaymentForContingentConsiderationLiabilityFinancingActivities_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PaymentForContingentConsiderationLiabilityFinancingActivities_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Payment for Contingent Consideration Liability, Financing Activities</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_PaymentForContingentConsiderationLiabilityFinancingActivities_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Payment of contingent consideration</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:label="us-gaap_NetCashProvidedByUsedInFinancingActivities" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:to="us-gaap_NetCashProvidedByUsedInFinancingActivities_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NetCashProvidedByUsedInFinancingActivities_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Net Cash Provided by (Used in) Financing Activities, Continuing Operations</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_NetCashProvidedByUsedInFinancingActivities_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Net cash used in financing activities</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffectAbstract" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffectAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffectAbstract" xlink:to="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffectAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffectAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Cash and Cash Equivalents, Period Increase (Decrease) [Abstract]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffectAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Cash and Cash Equivalents</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:label="us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:to="us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Impact of exchange rate changes on cash</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Impact of exchange rate changes on cash</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:to="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Cash and Cash Equivalents, Period Increase (Decrease)</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Net increase (decrease) in cash and cash equivalents</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:to="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Cash, Cash Equivalents, Restricted Cash and Restricted Cash Equivalents</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Cash and cash equivalents- End of period</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Cash and cash equivalents- Beginning of period</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherNoncashInvestingAndFinancingItemsAbstract" xlink:label="us-gaap_OtherNoncashInvestingAndFinancingItemsAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherNoncashInvestingAndFinancingItemsAbstract" xlink:to="us-gaap_OtherNoncashInvestingAndFinancingItemsAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OtherNoncashInvestingAndFinancingItemsAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Other Noncash Investing and Financing Items [Abstract]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_OtherNoncashInvestingAndFinancingItemsAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Supplemental disclosure of noncash activities:</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability" xlink:label="us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability" xlink:to="us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Right-of-Use Asset Obtained in Exchange for Operating Lease Liability</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Leased assets obtained in exchange for new operating lease liabilities</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CapitalExpendituresIncurredButNotYetPaid" xlink:label="us-gaap_CapitalExpendituresIncurredButNotYetPaid" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CapitalExpendituresIncurredButNotYetPaid" xlink:to="us-gaap_CapitalExpendituresIncurredButNotYetPaid_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CapitalExpendituresIncurredButNotYetPaid_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Capital Expenditures Incurred but Not yet Paid</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_CapitalExpendituresIncurredButNotYetPaid_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Accruals for property and equipment</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementOfStockholdersEquityAbstract" xlink:label="us-gaap_StatementOfStockholdersEquityAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StatementOfStockholdersEquityAbstract" xlink:to="us-gaap_StatementOfStockholdersEquityAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StatementOfStockholdersEquityAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">CONDENSED CONSOLIDATED STATEMENTS OF CHANGES IN EQUITY</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementEquityComponentsAxis" xlink:label="us-gaap_StatementEquityComponentsAxis" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StatementEquityComponentsAxis" xlink:to="us-gaap_StatementEquityComponentsAxis_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StatementEquityComponentsAxis_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Equity Components [Axis]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EquityComponentDomain" xlink:label="us-gaap_EquityComponentDomain" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EquityComponentDomain" xlink:to="us-gaap_EquityComponentDomain_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EquityComponentDomain_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Equity Component [Domain]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommonStockMember" xlink:label="us-gaap_CommonStockMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommonStockMember" xlink:to="us-gaap_CommonStockMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CommonStockMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Common Stock</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TreasuryStockCommonMember" xlink:label="us-gaap_TreasuryStockCommonMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_TreasuryStockCommonMember" xlink:to="us-gaap_TreasuryStockCommonMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_TreasuryStockCommonMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Treasury Stock at Cost</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AdditionalPaidInCapitalMember" xlink:label="us-gaap_AdditionalPaidInCapitalMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AdditionalPaidInCapitalMember" xlink:to="us-gaap_AdditionalPaidInCapitalMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AdditionalPaidInCapitalMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Additional Paid-in Capital</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RetainedEarningsMember" xlink:label="us-gaap_RetainedEarningsMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RetainedEarningsMember" xlink:to="us-gaap_RetainedEarningsMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RetainedEarningsMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Retained Earnings</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeMember" xlink:label="us-gaap_AccumulatedOtherComprehensiveIncomeMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccumulatedOtherComprehensiveIncomeMember" xlink:to="us-gaap_AccumulatedOtherComprehensiveIncomeMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AccumulatedOtherComprehensiveIncomeMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Accumulated Other Comprehensive (Loss) Income</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_AccumulatedOtherComprehensiveIncomeMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Accumulated Other Comprehensive Income</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInStockholdersEquityRollForward" xlink:label="us-gaap_IncreaseDecreaseInStockholdersEquityRollForward" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInStockholdersEquityRollForward" xlink:to="us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Increase (Decrease) in Stockholders' Equity [Roll Forward]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Increase (Decrease) in Stockholders' Equity</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" xlink:label="us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" xlink:to="us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Adjustments to Additional Paid in Capital, Share-based Compensation, Requisite Service Period Recognition</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Share-based compensation</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardGross" xlink:label="us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardGross" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardGross" xlink:to="us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardGross_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardGross_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Stock Issued During Period, Value, Restricted Stock Award, Gross</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardGross_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Issuance of restricted share awards under long-term equity incentive plan</label>
    <loc xlink:type="locator" xlink:href="bld-20230331.xsd#bld_TreasuryStockValueAcquiredCostMethodShareRepurchaseProgram" xlink:label="bld_TreasuryStockValueAcquiredCostMethodShareRepurchaseProgram" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="bld_TreasuryStockValueAcquiredCostMethodShareRepurchaseProgram" xlink:to="bld_TreasuryStockValueAcquiredCostMethodShareRepurchaseProgram_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="bld_TreasuryStockValueAcquiredCostMethodShareRepurchaseProgram_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Equity impact of the cost of common stock that was repurchased during the period pursuant to the Share Repurchase Program.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="bld_TreasuryStockValueAcquiredCostMethodShareRepurchaseProgram_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Treasury Stock, Value, Acquired, Cost Method, Share Repurchase Program</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="bld_TreasuryStockValueAcquiredCostMethodShareRepurchaseProgram_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Repurchase of shares</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation" xlink:label="us-gaap_AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation" xlink:to="us-gaap_AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Adjustments Related to Tax Withholding for Share-based Compensation</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Shares withheld to pay taxes on employees' equity awards</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised" xlink:label="us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised" xlink:to="us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Stock Issued During Period, Value, Stock Options Exercised</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Shares issued upon exercise of stock options</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherComprehensiveIncomeLossNetOfTax" xlink:label="us-gaap_OtherComprehensiveIncomeLossNetOfTax" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherComprehensiveIncomeLossNetOfTax" xlink:to="us-gaap_OtherComprehensiveIncomeLossNetOfTax_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OtherComprehensiveIncomeLossNetOfTax_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Other Comprehensive Income (Loss), Net of Tax</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_OtherComprehensiveIncomeLossNetOfTax_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Other comprehensive income, net of tax</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardGross" xlink:label="us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardGross" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardGross" xlink:to="us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardGross_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardGross_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Stock Issued During Period, Shares, Restricted Stock Award, Gross</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardGross_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Issuance of restricted share awards under long-term equity incentive plan (in shares)</label>
    <loc xlink:type="locator" xlink:href="bld-20230331.xsd#bld_TreasuryStockSharesAcquiredCostMethodShareRepurchaseProgram" xlink:label="bld_TreasuryStockSharesAcquiredCostMethodShareRepurchaseProgram" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="bld_TreasuryStockSharesAcquiredCostMethodShareRepurchaseProgram" xlink:to="bld_TreasuryStockSharesAcquiredCostMethodShareRepurchaseProgram_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="bld_TreasuryStockSharesAcquiredCostMethodShareRepurchaseProgram_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Number of shares that have been repurchased during the period pursuant to the Share Repurchase Program and are being held in treasury.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="bld_TreasuryStockSharesAcquiredCostMethodShareRepurchaseProgram_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Treasury Stock Shares Acquired Cost Method Share Repurchase Program</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="bld_TreasuryStockSharesAcquiredCostMethodShareRepurchaseProgram_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Repurchase of shares (in shares)</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation" xlink:label="us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation" xlink:to="us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Shares Paid for Tax Withholding for Share Based Compensation</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Number of shares withheld to pay taxes on employees' equity awards (in shares)</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised" xlink:label="us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised" xlink:to="us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Share-based Compensation Arrangement by Share-based Payment Award, Options, Exercises in Period</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Converted/Exercised (in shares)</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Shares issued upon exercise of stock options (in shares)</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract" xlink:label="us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract" xlink:to="us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Summary of Significant Accounting Policies</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessDescriptionAndBasisOfPresentationTextBlock" xlink:label="us-gaap_BusinessDescriptionAndBasisOfPresentationTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessDescriptionAndBasisOfPresentationTextBlock" xlink:to="us-gaap_BusinessDescriptionAndBasisOfPresentationTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_BusinessDescriptionAndBasisOfPresentationTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Business Description and Basis of Presentation [Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_BusinessDescriptionAndBasisOfPresentationTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Basis of Presentation</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccountingPoliciesAbstract" xlink:label="us-gaap_AccountingPoliciesAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_AccountingPoliciesAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AccountingPoliciesAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Accounting Policies</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SignificantAccountingPoliciesTextBlock" xlink:label="us-gaap_SignificantAccountingPoliciesTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SignificantAccountingPoliciesTextBlock" xlink:to="us-gaap_SignificantAccountingPoliciesTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SignificantAccountingPoliciesTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Significant Accounting Policies [Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_SignificantAccountingPoliciesTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Accounting Policies</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RevenueFromContractWithCustomerAbstract" xlink:label="us-gaap_RevenueFromContractWithCustomerAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RevenueFromContractWithCustomerAbstract" xlink:to="us-gaap_RevenueFromContractWithCustomerAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RevenueFromContractWithCustomerAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Revenue Recognition</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RevenueFromContractWithCustomerTextBlock" xlink:label="us-gaap_RevenueFromContractWithCustomerTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RevenueFromContractWithCustomerTextBlock" xlink:to="us-gaap_RevenueFromContractWithCustomerTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RevenueFromContractWithCustomerTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Revenue from Contract with Customer [Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_RevenueFromContractWithCustomerTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Revenue Recognition</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract" xlink:label="us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract" xlink:to="us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Goodwill and Other Intangibles</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GoodwillAndIntangibleAssetsDisclosureTextBlock" xlink:label="us-gaap_GoodwillAndIntangibleAssetsDisclosureTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_GoodwillAndIntangibleAssetsDisclosureTextBlock" xlink:to="us-gaap_GoodwillAndIntangibleAssetsDisclosureTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_GoodwillAndIntangibleAssetsDisclosureTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Goodwill and Intangible Assets Disclosure [Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_GoodwillAndIntangibleAssetsDisclosureTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Goodwill and Other Intangibles</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtDisclosureAbstract" xlink:label="us-gaap_DebtDisclosureAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DebtDisclosureAbstract" xlink:to="us-gaap_DebtDisclosureAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DebtDisclosureAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Long-Term Debt</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongTermDebtTextBlock" xlink:label="us-gaap_LongTermDebtTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LongTermDebtTextBlock" xlink:to="us-gaap_LongTermDebtTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LongTermDebtTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Long-term Debt [Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_LongTermDebtTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Long-Term Debt</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueDisclosuresAbstract" xlink:label="us-gaap_FairValueDisclosuresAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FairValueDisclosuresAbstract" xlink:to="us-gaap_FairValueDisclosuresAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FairValueDisclosuresAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Fair Value Measurements</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueDisclosuresTextBlock" xlink:label="us-gaap_FairValueDisclosuresTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FairValueDisclosuresTextBlock" xlink:to="us-gaap_FairValueDisclosuresTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FairValueDisclosuresTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Fair Value Disclosures [Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_FairValueDisclosuresTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Fair Value Measurements</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SegmentReportingAbstract" xlink:label="us-gaap_SegmentReportingAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SegmentReportingAbstract" xlink:to="us-gaap_SegmentReportingAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SegmentReportingAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Segment Information</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SegmentReportingDisclosureTextBlock" xlink:label="us-gaap_SegmentReportingDisclosureTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SegmentReportingDisclosureTextBlock" xlink:to="us-gaap_SegmentReportingDisclosureTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SegmentReportingDisclosureTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Segment Reporting Disclosure [Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_SegmentReportingDisclosureTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Segment Information</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeTaxDisclosureAbstract" xlink:label="us-gaap_IncomeTaxDisclosureAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeTaxDisclosureAbstract" xlink:to="us-gaap_IncomeTaxDisclosureAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncomeTaxDisclosureAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Income Taxes</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeTaxDisclosureTextBlock" xlink:label="us-gaap_IncomeTaxDisclosureTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeTaxDisclosureTextBlock" xlink:to="us-gaap_IncomeTaxDisclosureTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncomeTaxDisclosureTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Income Tax Disclosure [Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_IncomeTaxDisclosureTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Income Taxes</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EarningsPerShareTextBlock" xlink:label="us-gaap_EarningsPerShareTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EarningsPerShareTextBlock" xlink:to="us-gaap_EarningsPerShareTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EarningsPerShareTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Earnings Per Share [Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_EarningsPerShareTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Net Income Per Share</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:label="us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Share-Based Compensation.</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock" xlink:label="us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock" xlink:to="us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Disclosure of Compensation Related Costs, Share-based Payments [Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Share-Based Compensation</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessCombinationsAbstract" xlink:label="us-gaap_BusinessCombinationsAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessCombinationsAbstract" xlink:to="us-gaap_BusinessCombinationsAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_BusinessCombinationsAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Business Combinations</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessCombinationDisclosureTextBlock" xlink:label="us-gaap_BusinessCombinationDisclosureTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessCombinationDisclosureTextBlock" xlink:to="us-gaap_BusinessCombinationDisclosureTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_BusinessCombinationDisclosureTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Business Combination Disclosure [Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_BusinessCombinationDisclosureTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Business Combinations</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PayablesAndAccrualsAbstract" xlink:label="us-gaap_PayablesAndAccrualsAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PayablesAndAccrualsAbstract" xlink:to="us-gaap_PayablesAndAccrualsAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PayablesAndAccrualsAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Accrued Liabilities.</label>
    <loc xlink:type="locator" xlink:href="bld-20230331.xsd#bld_AccruedLiabilitiesDisclosureTextBlock" xlink:label="bld_AccruedLiabilitiesDisclosureTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="bld_AccruedLiabilitiesDisclosureTextBlock" xlink:to="bld_AccruedLiabilitiesDisclosureTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="bld_AccruedLiabilitiesDisclosureTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">The entire disclosure for accrued liabilities at the end of the reporting period.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="bld_AccruedLiabilitiesDisclosureTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Accrued Liabilities Disclosure [Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="bld_AccruedLiabilitiesDisclosureTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Accrued Liabilities</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommitmentsAndContingenciesDisclosureAbstract" xlink:label="us-gaap_CommitmentsAndContingenciesDisclosureAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommitmentsAndContingenciesDisclosureAbstract" xlink:to="us-gaap_CommitmentsAndContingenciesDisclosureAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CommitmentsAndContingenciesDisclosureAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Other Commitments and Contingencies</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommitmentsAndContingenciesDisclosureTextBlock" xlink:label="us-gaap_CommitmentsAndContingenciesDisclosureTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommitmentsAndContingenciesDisclosureTextBlock" xlink:to="us-gaap_CommitmentsAndContingenciesDisclosureTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CommitmentsAndContingenciesDisclosureTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Commitments and Contingencies Disclosure [Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_CommitmentsAndContingenciesDisclosureTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Other Commitments and Contingencies</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BasisOfAccountingPolicyPolicyTextBlock" xlink:label="us-gaap_BasisOfAccountingPolicyPolicyTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BasisOfAccountingPolicyPolicyTextBlock" xlink:to="us-gaap_BasisOfAccountingPolicyPolicyTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_BasisOfAccountingPolicyPolicyTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Basis of Accounting, Policy [Policy Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_BasisOfAccountingPolicyPolicyTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Financial Statement Presentation</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock" xlink:label="us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock" xlink:to="us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">New Accounting Pronouncements, Policy [Policy Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Recently Adopted Accounting Pronouncements</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisaggregationOfRevenueTableTextBlock" xlink:label="us-gaap_DisaggregationOfRevenueTableTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DisaggregationOfRevenueTableTextBlock" xlink:to="us-gaap_DisaggregationOfRevenueTableTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DisaggregationOfRevenueTableTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Disaggregation of Revenue [Table Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DisaggregationOfRevenueTableTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Schedule of revenues disaggregated by market and product</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock" xlink:label="us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock" xlink:to="us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Contract with Customer, Asset and Liability [Table Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Schedule of contract assets and contract liabilities with customers</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfGoodwillTextBlock" xlink:label="us-gaap_ScheduleOfGoodwillTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfGoodwillTextBlock" xlink:to="us-gaap_ScheduleOfGoodwillTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfGoodwillTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Schedule of Goodwill [Table Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ScheduleOfGoodwillTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Changes in the carrying amount of goodwill by segment</label>
    <loc xlink:type="locator" xlink:href="bld-20230331.xsd#bld_ScheduleOfAcquiredFiniteLivedAndIndefiniteLivedIntangibleAssetTableTextBlock" xlink:label="bld_ScheduleOfAcquiredFiniteLivedAndIndefiniteLivedIntangibleAssetTableTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="bld_ScheduleOfAcquiredFiniteLivedAndIndefiniteLivedIntangibleAssetTableTextBlock" xlink:to="bld_ScheduleOfAcquiredFiniteLivedAndIndefiniteLivedIntangibleAssetTableTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="bld_ScheduleOfAcquiredFiniteLivedAndIndefiniteLivedIntangibleAssetTableTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Tabular disclosure of finite lived and indefinite lived intangible assets.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="bld_ScheduleOfAcquiredFiniteLivedAndIndefiniteLivedIntangibleAssetTableTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Schedule of Acquired Finite-Lived and Indefinite-Lived Intangible Asset [Table Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="bld_ScheduleOfAcquiredFiniteLivedAndIndefiniteLivedIntangibleAssetTableTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Schedule of other intangible assets</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseTableTextBlock" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseTableTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseTableTextBlock" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseTableTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseTableTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Finite-lived Intangible Assets Amortization Expense [Table Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseTableTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Schedule of amortization expense</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfDebtTableTextBlock" xlink:label="us-gaap_ScheduleOfDebtTableTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfDebtTableTextBlock" xlink:to="us-gaap_ScheduleOfDebtTableTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfDebtTableTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Schedule of Debt [Table Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ScheduleOfDebtTableTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Reconciliation of principal balance of outstanding debt</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfMaturitiesOfLongTermDebtTableTextBlock" xlink:label="us-gaap_ScheduleOfMaturitiesOfLongTermDebtTableTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfMaturitiesOfLongTermDebtTableTextBlock" xlink:to="us-gaap_ScheduleOfMaturitiesOfLongTermDebtTableTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfMaturitiesOfLongTermDebtTableTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Schedule of Maturities of Long-term Debt [Table Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_ScheduleOfMaturitiesOfLongTermDebtTableTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Schedule of remaining principal payments of debt</label>
    <loc xlink:type="locator" xlink:href="bld-20230331.xsd#bld_SummaryOfKeyTermsOfCreditAgreementTableTextBlock" xlink:label="bld_SummaryOfKeyTermsOfCreditAgreementTableTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="bld_SummaryOfKeyTermsOfCreditAgreementTableTextBlock" xlink:to="bld_SummaryOfKeyTermsOfCreditAgreementTableTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="bld_SummaryOfKeyTermsOfCreditAgreementTableTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents tabular information about the key terms of the Credit Agreement.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="bld_SummaryOfKeyTermsOfCreditAgreementTableTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Summary of The Key Terms of Credit Agreement [Table Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="bld_SummaryOfKeyTermsOfCreditAgreementTableTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Summary of key terms of the Credit Agreement</label>
    <loc xlink:type="locator" xlink:href="bld-20230331.xsd#bld_ScheduleOfAvailabilityUnderRevolvingFacilityTableTextBlock" xlink:label="bld_ScheduleOfAvailabilityUnderRevolvingFacilityTableTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="bld_ScheduleOfAvailabilityUnderRevolvingFacilityTableTextBlock" xlink:to="bld_ScheduleOfAvailabilityUnderRevolvingFacilityTableTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="bld_ScheduleOfAvailabilityUnderRevolvingFacilityTableTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents tabular information about the availability under the Revolving Facility.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="bld_ScheduleOfAvailabilityUnderRevolvingFacilityTableTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Schedule of Availability Under Revolving Facility [Table Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="bld_ScheduleOfAvailabilityUnderRevolvingFacilityTableTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Schedule of availability under the Revolving Facility</label>
    <loc xlink:type="locator" xlink:href="bld-20230331.xsd#bld_ScheduleOfKeyFinancialCovenantsTableTextBlock" xlink:label="bld_ScheduleOfKeyFinancialCovenantsTableTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="bld_ScheduleOfKeyFinancialCovenantsTableTextBlock" xlink:to="bld_ScheduleOfKeyFinancialCovenantsTableTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="bld_ScheduleOfKeyFinancialCovenantsTableTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents tabular information about the key financial covenants.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="bld_ScheduleOfKeyFinancialCovenantsTableTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Schedule of Key Financial Covenants [Table Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="bld_ScheduleOfKeyFinancialCovenantsTableTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Schedule of the key financial covenants</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTableTextBlock" xlink:label="us-gaap_FairValueLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTableTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FairValueLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTableTextBlock" xlink:to="us-gaap_FairValueLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTableTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FairValueLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTableTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Fair Value, Liabilities Measured on Recurring and Nonrecurring Basis [Table Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_FairValueLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTableTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Schedule of fair value of liabilities</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfSegmentReportingInformationBySegmentTextBlock" xlink:label="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTextBlock" xlink:to="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Schedule of Segment Reporting Information, by Segment [Table Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Schedule of net sales and operating results by segment</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" xlink:label="us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" xlink:to="us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Schedule of Earnings Per Share, Basic and Diluted [Table Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Schedule of basic and diluted income per share</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock" xlink:label="us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock" xlink:to="us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Schedule of Antidilutive Securities Excluded from Computation of Earnings Per Share [Table Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Summary of shares excluded from the calculation of diluted income per share because their effect would have been anti-dilutive</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:label="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Schedule of Share-based Compensation Arrangements by Share-based Payment Award [Table]</label>
    <loc xlink:type="locator" xlink:href="bld-20230331.xsd#bld_VestingCriteriaAxis" xlink:label="bld_VestingCriteriaAxis" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="bld_VestingCriteriaAxis" xlink:to="bld_VestingCriteriaAxis_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="bld_VestingCriteriaAxis_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Information about the type of vesting for share-based compensation awards.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="bld_VestingCriteriaAxis_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Vesting Criteria [Axis]</label>
    <loc xlink:type="locator" xlink:href="bld-20230331.xsd#bld_VestingCriteriaDomain" xlink:label="bld_VestingCriteriaDomain" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="bld_VestingCriteriaDomain" xlink:to="bld_VestingCriteriaDomain_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="bld_VestingCriteriaDomain_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">The types of vesting specified for share-based compensation awards.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="bld_VestingCriteriaDomain_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Vesting Criteria [Domain]</label>
    <loc xlink:type="locator" xlink:href="bld-20230331.xsd#bld_VestingBasedOnPerformanceMember" xlink:label="bld_VestingBasedOnPerformanceMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="bld_VestingBasedOnPerformanceMember" xlink:to="bld_VestingBasedOnPerformanceMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="bld_VestingBasedOnPerformanceMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents a share based compensation award with vesting based on achievement of performance conditions.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="bld_VestingBasedOnPerformanceMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Performance-based conditions</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AwardTypeAxis" xlink:label="us-gaap_AwardTypeAxis" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AwardTypeAxis" xlink:to="us-gaap_AwardTypeAxis_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AwardTypeAxis_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Award Type [Axis]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Equity Award [Domain]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RestrictedStockMember" xlink:label="us-gaap_RestrictedStockMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RestrictedStockMember" xlink:to="us-gaap_RestrictedStockMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RestrictedStockMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Restricted Stock Awards</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Share-based Compensation Arrangement by Share-based Payment Award [Line Items]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Share-Based Compensation</label>
    <loc xlink:type="locator" xlink:href="bld-20230331.xsd#bld_ScheduleOfShareBasedCompensationExpenseTableTextBlock" xlink:label="bld_ScheduleOfShareBasedCompensationExpenseTableTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="bld_ScheduleOfShareBasedCompensationExpenseTableTextBlock" xlink:to="bld_ScheduleOfShareBasedCompensationExpenseTableTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="bld_ScheduleOfShareBasedCompensationExpenseTableTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Tabular disclosure of share-based compensation expense.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="bld_ScheduleOfShareBasedCompensationExpenseTableTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Schedule Of Share Based Compensation Expense Table Text Block</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="bld_ScheduleOfShareBasedCompensationExpenseTableTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Schedule of share-based compensation expense and related income tax benefit</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfShareBasedCompensationActivityTableTextBlock" xlink:label="us-gaap_ScheduleOfShareBasedCompensationActivityTableTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfShareBasedCompensationActivityTableTextBlock" xlink:to="us-gaap_ScheduleOfShareBasedCompensationActivityTableTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfShareBasedCompensationActivityTableTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Schedule of Share-based Compensation, Activity [Table Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ScheduleOfShareBasedCompensationActivityTableTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Schedule of share-based compensation activity</label>
    <loc xlink:type="locator" xlink:href="bld-20230331.xsd#bld_ScheduleOfUnrecognizedShareBasedCompensationExpenseNonvestedAwards" xlink:label="bld_ScheduleOfUnrecognizedShareBasedCompensationExpenseNonvestedAwards" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="bld_ScheduleOfUnrecognizedShareBasedCompensationExpenseNonvestedAwards" xlink:to="bld_ScheduleOfUnrecognizedShareBasedCompensationExpenseNonvestedAwards_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="bld_ScheduleOfUnrecognizedShareBasedCompensationExpenseNonvestedAwards_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Tabular disclosure of unrecognized share-based compensation expense related to unvested awards.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="bld_ScheduleOfUnrecognizedShareBasedCompensationExpenseNonvestedAwards_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Schedule of Unrecognized Share-based Compensation Expense, Nonvested Awards</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="bld_ScheduleOfUnrecognizedShareBasedCompensationExpenseNonvestedAwards_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Schedule of unrecognized share-based compensation expense relating to unvested awards</label>
    <loc xlink:type="locator" xlink:href="bld-20230331.xsd#bld_ScheduleOfShareBasedPaymentAwardRestrictedStockAwardsPayoutRangeAndRelatedExpenseTableTextBlock" xlink:label="bld_ScheduleOfShareBasedPaymentAwardRestrictedStockAwardsPayoutRangeAndRelatedExpenseTableTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="bld_ScheduleOfShareBasedPaymentAwardRestrictedStockAwardsPayoutRangeAndRelatedExpenseTableTextBlock" xlink:to="bld_ScheduleOfShareBasedPaymentAwardRestrictedStockAwardsPayoutRangeAndRelatedExpenseTableTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="bld_ScheduleOfShareBasedPaymentAwardRestrictedStockAwardsPayoutRangeAndRelatedExpenseTableTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Tabular disclosure of restricted stock awards with performance-based conditions relating to the grant date fair value, payout range and related expenses.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="bld_ScheduleOfShareBasedPaymentAwardRestrictedStockAwardsPayoutRangeAndRelatedExpenseTableTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Schedule of Share-based Payment Award, Restricted Stock Awards, Payout Range and Related Expense [Table Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="bld_ScheduleOfShareBasedPaymentAwardRestrictedStockAwardsPayoutRangeAndRelatedExpenseTableTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Schedule of the range of payouts and the related expense for RSAs with performance-based conditions</label>
    <loc xlink:type="locator" xlink:href="bld-20230331.xsd#bld_ScheduleOfShareBasedPaymentAwardOtherThanOptionsValuationAssumptionsTableTextBlock" xlink:label="bld_ScheduleOfShareBasedPaymentAwardOtherThanOptionsValuationAssumptionsTableTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="bld_ScheduleOfShareBasedPaymentAwardOtherThanOptionsValuationAssumptionsTableTextBlock" xlink:to="bld_ScheduleOfShareBasedPaymentAwardOtherThanOptionsValuationAssumptionsTableTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="bld_ScheduleOfShareBasedPaymentAwardOtherThanOptionsValuationAssumptionsTableTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Tabular disclosure of the significant assumptions used during the year to estimate the fair value of awards, other than options, including, but not limited to: (a) expected term, (b) expected volatility of the entity's shares, (c) expected dividends, (d) risk-free rate(s), and (e) discount for post-vesting restrictions.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="bld_ScheduleOfShareBasedPaymentAwardOtherThanOptionsValuationAssumptionsTableTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Schedule of Share-based Payment Award, Other Than Options, Valuation Assumptions [Table Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="bld_ScheduleOfShareBasedPaymentAwardOtherThanOptionsValuationAssumptionsTableTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Schedule of key inputs used to estimate the fair value of awards</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable" xlink:label="us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable" xlink:to="us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Schedule of Business Acquisitions, by Acquisition [Table]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessAcquisitionAxis" xlink:label="us-gaap_BusinessAcquisitionAxis" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessAcquisitionAxis" xlink:to="us-gaap_BusinessAcquisitionAxis_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_BusinessAcquisitionAxis_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Business Acquisition [Axis]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessAcquisitionAcquireeDomain" xlink:label="us-gaap_BusinessAcquisitionAcquireeDomain" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="us-gaap_BusinessAcquisitionAcquireeDomain_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_BusinessAcquisitionAcquireeDomain_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Business Acquisition, Acquiree [Domain]</label>
    <loc xlink:type="locator" xlink:href="bld-20230331.xsd#bld_Acquisitions2022Member" xlink:label="bld_Acquisitions2022Member" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="bld_Acquisitions2022Member" xlink:to="bld_Acquisitions2022Member_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="bld_Acquisitions2022Member_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents information pertaining to 2022 acquisitions.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="bld_Acquisitions2022Member_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">2022 Acquisitions</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessAcquisitionLineItems" xlink:label="us-gaap_BusinessAcquisitionLineItems" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessAcquisitionLineItems" xlink:to="us-gaap_BusinessAcquisitionLineItems_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_BusinessAcquisitionLineItems_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Business Acquisition [Line Items]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_BusinessAcquisitionLineItems_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Business Combinations</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTextBlock" xlink:label="us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTextBlock" xlink:to="us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Schedule of Business Acquisitions, by Acquisition [Table Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Summary of businesses acquired</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock" xlink:label="us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock" xlink:to="us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Schedule of Accrued Liabilities [Table Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Schedule of components of accrued liabilities</label>
    <loc xlink:type="locator" xlink:href="bld-20230331.xsd#bld_BondsOutstandingTableTextBlock" xlink:label="bld_BondsOutstandingTableTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="bld_BondsOutstandingTableTextBlock" xlink:to="bld_BondsOutstandingTableTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="bld_BondsOutstandingTableTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Tabular disclosure of information about bonds outstanding.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="bld_BondsOutstandingTableTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Bonds Outstanding [Table Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="bld_BondsOutstandingTableTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Summary of outstanding bonds</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NumberOfReportableSegments" xlink:label="us-gaap_NumberOfReportableSegments" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NumberOfReportableSegments" xlink:to="us-gaap_NumberOfReportableSegments_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NumberOfReportableSegments_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Number of Reportable Segments</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_NumberOfReportableSegments_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Number of reportable segments</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisaggregationOfRevenueTable" xlink:label="us-gaap_DisaggregationOfRevenueTable" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DisaggregationOfRevenueTable" xlink:to="us-gaap_DisaggregationOfRevenueTable_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DisaggregationOfRevenueTable_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Disaggregation of Revenue [Table]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ConsolidationItemsAxis" xlink:label="srt_ConsolidationItemsAxis" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_ConsolidationItemsAxis" xlink:to="srt_ConsolidationItemsAxis_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="srt_ConsolidationItemsAxis_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Consolidation Items [Axis]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ConsolidationItemsDomain" xlink:label="srt_ConsolidationItemsDomain" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_ConsolidationItemsDomain" xlink:to="srt_ConsolidationItemsDomain_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="srt_ConsolidationItemsDomain_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Consolidation Items [Domain]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingSegmentsMember" xlink:label="us-gaap_OperatingSegmentsMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingSegmentsMember" xlink:to="us-gaap_OperatingSegmentsMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OperatingSegmentsMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Operating Segment</label>
    <loc xlink:type="locator" xlink:href="bld-20230331.xsd#bld_EliminationsAndReconcilingItemsMember" xlink:label="bld_EliminationsAndReconcilingItemsMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="bld_EliminationsAndReconcilingItemsMember" xlink:to="bld_EliminationsAndReconcilingItemsMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="bld_EliminationsAndReconcilingItemsMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Eliminating entries used in operating segment consolidation and Items used in reconciling reportable segments' amounts to consolidated amount.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="bld_EliminationsAndReconcilingItemsMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Eliminations</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementBusinessSegmentsAxis" xlink:label="us-gaap_StatementBusinessSegmentsAxis" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StatementBusinessSegmentsAxis" xlink:to="us-gaap_StatementBusinessSegmentsAxis_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StatementBusinessSegmentsAxis_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Segments [Axis]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SegmentDomain" xlink:label="us-gaap_SegmentDomain" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SegmentDomain" xlink:to="us-gaap_SegmentDomain_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SegmentDomain_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Segments [Domain]</label>
    <loc xlink:type="locator" xlink:href="bld-20230331.xsd#bld_InstallationSegmentMember" xlink:label="bld_InstallationSegmentMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="bld_InstallationSegmentMember" xlink:to="bld_InstallationSegmentMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="bld_InstallationSegmentMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents the installation segment of the reporting entity.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="bld_InstallationSegmentMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Installation</label>
    <loc xlink:type="locator" xlink:href="bld-20230331.xsd#bld_DistributionSegmentMember" xlink:label="bld_DistributionSegmentMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="bld_DistributionSegmentMember" xlink:to="bld_DistributionSegmentMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="bld_DistributionSegmentMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents the distribution segment of the reporting entity.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="bld_DistributionSegmentMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Specialty Distribution</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_MajorCustomersAxis" xlink:label="srt_MajorCustomersAxis" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_MajorCustomersAxis" xlink:to="srt_MajorCustomersAxis_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="srt_MajorCustomersAxis_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Customer [Axis]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_NameOfMajorCustomerDomain" xlink:label="srt_NameOfMajorCustomerDomain" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_NameOfMajorCustomerDomain" xlink:to="srt_NameOfMajorCustomerDomain_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="srt_NameOfMajorCustomerDomain_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Customer [Domain]</label>
    <loc xlink:type="locator" xlink:href="bld-20230331.xsd#bld_ResidentialMember" xlink:label="bld_ResidentialMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="bld_ResidentialMember" xlink:to="bld_ResidentialMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="bld_ResidentialMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Information pertaining to the residential market.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="bld_ResidentialMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Residential</label>
    <loc xlink:type="locator" xlink:href="bld-20230331.xsd#bld_CommercialAndIndustrialMember" xlink:label="bld_CommercialAndIndustrialMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="bld_CommercialAndIndustrialMember" xlink:to="bld_CommercialAndIndustrialMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="bld_CommercialAndIndustrialMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Information pertaining to the commercial and industrial market.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="bld_CommercialAndIndustrialMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Commercial and Industrial</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ProductOrServiceAxis" xlink:label="srt_ProductOrServiceAxis" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_ProductOrServiceAxis" xlink:to="srt_ProductOrServiceAxis_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="srt_ProductOrServiceAxis_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Products and Services [Axis]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ProductsAndServicesDomain" xlink:label="srt_ProductsAndServicesDomain" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_ProductsAndServicesDomain" xlink:to="srt_ProductsAndServicesDomain_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="srt_ProductsAndServicesDomain_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Products and Services [Domain]</label>
    <loc xlink:type="locator" xlink:href="bld-20230331.xsd#bld_InsulationAndAccessoriesMember" xlink:label="bld_InsulationAndAccessoriesMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="bld_InsulationAndAccessoriesMember" xlink:to="bld_InsulationAndAccessoriesMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="bld_InsulationAndAccessoriesMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents the information pertaining to the insulation and accessories product.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="bld_InsulationAndAccessoriesMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Insulation and accessories</label>
    <loc xlink:type="locator" xlink:href="bld-20230331.xsd#bld_GlassAndWindowsMember" xlink:label="bld_GlassAndWindowsMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="bld_GlassAndWindowsMember" xlink:to="bld_GlassAndWindowsMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="bld_GlassAndWindowsMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents information pertaining to glass and windows product category.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="bld_GlassAndWindowsMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Glass and windows</label>
    <loc xlink:type="locator" xlink:href="bld-20230331.xsd#bld_RainGuttersMember" xlink:label="bld_RainGuttersMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="bld_RainGuttersMember" xlink:to="bld_RainGuttersMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="bld_RainGuttersMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents the information pertaining to Rain gutter product.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="bld_RainGuttersMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Gutters</label>
    <loc xlink:type="locator" xlink:href="bld-20230331.xsd#bld_AllOtherProductsMember" xlink:label="bld_AllOtherProductsMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="bld_AllOtherProductsMember" xlink:to="bld_AllOtherProductsMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="bld_AllOtherProductsMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents in aggregate all other product categories.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="bld_AllOtherProductsMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">All other</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisaggregationOfRevenueLineItems" xlink:label="us-gaap_DisaggregationOfRevenueLineItems" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DisaggregationOfRevenueLineItems" xlink:to="us-gaap_DisaggregationOfRevenueLineItems_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DisaggregationOfRevenueLineItems_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Disaggregation of Revenue [Line Items]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DisaggregationOfRevenueLineItems_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Revenue Recognition</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BalanceSheetLocationAxis" xlink:label="us-gaap_BalanceSheetLocationAxis" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BalanceSheetLocationAxis" xlink:to="us-gaap_BalanceSheetLocationAxis_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_BalanceSheetLocationAxis_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Balance Sheet Location [Axis]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BalanceSheetLocationDomain" xlink:label="us-gaap_BalanceSheetLocationDomain" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BalanceSheetLocationDomain" xlink:to="us-gaap_BalanceSheetLocationDomain_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_BalanceSheetLocationDomain_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Balance Sheet Location [Domain]</label>
    <loc xlink:type="locator" xlink:href="bld-20230331.xsd#bld_ReceivablesNetMember" xlink:label="bld_ReceivablesNetMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="bld_ReceivablesNetMember" xlink:to="bld_ReceivablesNetMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="bld_ReceivablesNetMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Due from customers or clients for goods or services that have been delivered or sold, net of allowance for doubtful accounts.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="bld_ReceivablesNetMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Receivables, net</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccruedLiabilitiesMember" xlink:label="us-gaap_AccruedLiabilitiesMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccruedLiabilitiesMember" xlink:to="us-gaap_AccruedLiabilitiesMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AccruedLiabilitiesMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Accrued liabilities</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ContractWithCustomerAssetAndLiabilityAbstract" xlink:label="us-gaap_ContractWithCustomerAssetAndLiabilityAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ContractWithCustomerAssetAndLiabilityAbstract" xlink:to="us-gaap_ContractWithCustomerAssetAndLiabilityAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ContractWithCustomerAssetAndLiabilityAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Contract with Customer, Asset and Liability [Abstract]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ContractWithCustomerAssetAndLiabilityAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Contract assets and contract liabilities with customers:</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ContractWithCustomerAssetNetCurrentAbstract" xlink:label="us-gaap_ContractWithCustomerAssetNetCurrentAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ContractWithCustomerAssetNetCurrentAbstract" xlink:to="us-gaap_ContractWithCustomerAssetNetCurrentAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ContractWithCustomerAssetNetCurrentAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Contract with Customer, Asset, Net, Current [Abstract]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ContractWithCustomerAssetNetCurrentAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Contract Assets</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ContractWithCustomerAssetNetCurrent" xlink:label="us-gaap_ContractWithCustomerAssetNetCurrent" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ContractWithCustomerAssetNetCurrent" xlink:to="us-gaap_ContractWithCustomerAssetNetCurrent_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ContractWithCustomerAssetNetCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Contract with Customer, Asset, Net, Current</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ContractWithCustomerAssetNetCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Receivables, unbilled</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ContractWithCustomerLiabilityAbstract" xlink:label="us-gaap_ContractWithCustomerLiabilityAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ContractWithCustomerLiabilityAbstract" xlink:to="us-gaap_ContractWithCustomerLiabilityAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ContractWithCustomerLiabilityAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Contract with Customer, Liability [Abstract]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ContractWithCustomerLiabilityAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Contract Liabilities</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ContractWithCustomerLiabilityCurrent" xlink:label="us-gaap_ContractWithCustomerLiabilityCurrent" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ContractWithCustomerLiabilityCurrent" xlink:to="us-gaap_ContractWithCustomerLiabilityCurrent_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ContractWithCustomerLiabilityCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Contract with Customer, Liability, Current</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ContractWithCustomerLiabilityCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Deferred revenue</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RevenuePerformanceObligationSatisfiedOverTimeAbstract" xlink:label="us-gaap_RevenuePerformanceObligationSatisfiedOverTimeAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RevenuePerformanceObligationSatisfiedOverTimeAbstract" xlink:to="us-gaap_RevenuePerformanceObligationSatisfiedOverTimeAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RevenuePerformanceObligationSatisfiedOverTimeAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Revenue, Performance Obligation Satisfied over Time [Abstract]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_RevenuePerformanceObligationSatisfiedOverTimeAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Uncompleted Performance Obligations</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RevenueRemainingPerformanceObligation" xlink:label="us-gaap_RevenueRemainingPerformanceObligation" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RevenueRemainingPerformanceObligation" xlink:to="us-gaap_RevenueRemainingPerformanceObligation_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RevenueRemainingPerformanceObligation_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Revenue, Remaining Performance Obligation, Amount</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_RevenueRemainingPerformanceObligation_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Amount remaining on uncompleted performance obligations</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionExplanation" xlink:label="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionExplanation" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionExplanation" xlink:to="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionExplanation_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionExplanation_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Explanation</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionExplanation_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Expected timing of satisfaction of performance obligations</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ConstructionContractorReceivableRetainage" xlink:label="us-gaap_ConstructionContractorReceivableRetainage" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ConstructionContractorReceivableRetainage" xlink:to="us-gaap_ConstructionContractorReceivableRetainage_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ConstructionContractorReceivableRetainage_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Construction Contractor, Receivable, Retainage</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ConstructionContractorReceivableRetainage_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Retained receivables</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfGoodwillTable" xlink:label="us-gaap_ScheduleOfGoodwillTable" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfGoodwillTable" xlink:to="us-gaap_ScheduleOfGoodwillTable_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfGoodwillTable_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Schedule of Goodwill [Table]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GoodwillLineItems" xlink:label="us-gaap_GoodwillLineItems" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_GoodwillLineItems" xlink:to="us-gaap_GoodwillLineItems_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_GoodwillLineItems_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Goodwill [Line Items]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_GoodwillLineItems_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Changes in the carrying amount of goodwill</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NumberOfReportingUnits" xlink:label="us-gaap_NumberOfReportingUnits" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NumberOfReportingUnits" xlink:to="us-gaap_NumberOfReportingUnits_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NumberOfReportingUnits_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Number of Reporting Units</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_NumberOfReportingUnits_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Number of reporting units</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GoodwillImpairmentLoss" xlink:label="us-gaap_GoodwillImpairmentLoss" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_GoodwillImpairmentLoss" xlink:to="us-gaap_GoodwillImpairmentLoss_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_GoodwillImpairmentLoss_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Goodwill, Impairment Loss</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_GoodwillImpairmentLoss_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Impairment of goodwill</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GoodwillGross" xlink:label="us-gaap_GoodwillGross" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_GoodwillGross" xlink:to="us-gaap_GoodwillGross_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_GoodwillGross_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Goodwill, Gross</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:label="us-gaap_GoodwillGross_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Gross Goodwill, at end of period</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:label="us-gaap_GoodwillGross_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Gross Goodwill, at beginning of period</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GoodwillPeriodIncreaseDecrease" xlink:label="us-gaap_GoodwillPeriodIncreaseDecrease" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_GoodwillPeriodIncreaseDecrease" xlink:to="us-gaap_GoodwillPeriodIncreaseDecrease_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_GoodwillPeriodIncreaseDecrease_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Goodwill, Period Increase (Decrease)</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_GoodwillPeriodIncreaseDecrease_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Additions</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GoodwillForeignCurrencyTranslationGainLoss" xlink:label="us-gaap_GoodwillForeignCurrencyTranslationGainLoss" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_GoodwillForeignCurrencyTranslationGainLoss" xlink:to="us-gaap_GoodwillForeignCurrencyTranslationGainLoss_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_GoodwillForeignCurrencyTranslationGainLoss_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Goodwill, Foreign Currency Translation Gain (Loss)</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_GoodwillForeignCurrencyTranslationGainLoss_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Fx Translation Adjustment</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GoodwillImpairedAccumulatedImpairmentLoss" xlink:label="us-gaap_GoodwillImpairedAccumulatedImpairmentLoss" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_GoodwillImpairedAccumulatedImpairmentLoss" xlink:to="us-gaap_GoodwillImpairedAccumulatedImpairmentLoss_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_GoodwillImpairedAccumulatedImpairmentLoss_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Goodwill, Impaired, Accumulated Impairment Loss</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_GoodwillImpairedAccumulatedImpairmentLoss_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Accumulated Impairment Losses</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IntangibleAssetsNetExcludingGoodwillAbstract" xlink:label="us-gaap_IntangibleAssetsNetExcludingGoodwillAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IntangibleAssetsNetExcludingGoodwillAbstract" xlink:to="us-gaap_IntangibleAssetsNetExcludingGoodwillAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IntangibleAssetsNetExcludingGoodwillAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Finite-Lived Intangible Assets, Net [Abstract]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_IntangibleAssetsNetExcludingGoodwillAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Other intangible assets</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsGross" xlink:label="us-gaap_FiniteLivedIntangibleAssetsGross" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetsGross" xlink:to="us-gaap_FiniteLivedIntangibleAssetsGross_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FiniteLivedIntangibleAssetsGross_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Finite-Lived Intangible Assets, Gross</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_FiniteLivedIntangibleAssetsGross_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Gross Definite-lived intangible assets</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Finite-Lived Intangible Assets, Accumulated Amortization</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Accumulated Amortization</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IntangibleAssetsNetExcludingGoodwill" xlink:label="us-gaap_IntangibleAssetsNetExcludingGoodwill" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IntangibleAssetsNetExcludingGoodwill" xlink:to="us-gaap_IntangibleAssetsNetExcludingGoodwill_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IntangibleAssetsNetExcludingGoodwill_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Intangible Assets, Net (Excluding Goodwill)</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_IntangibleAssetsNetExcludingGoodwill_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Other intangible asset, net</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AmortizationOfIntangibleAssets" xlink:label="us-gaap_AmortizationOfIntangibleAssets" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AmortizationOfIntangibleAssets" xlink:to="us-gaap_AmortizationOfIntangibleAssets_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AmortizationOfIntangibleAssets_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Amortization of Intangible Assets</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_AmortizationOfIntangibleAssets_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Amortization expense</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentTable" xlink:label="us-gaap_DebtInstrumentTable" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DebtInstrumentTable" xlink:to="us-gaap_DebtInstrumentTable_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DebtInstrumentTable_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Schedule of Long-term Debt Instruments [Table]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongtermDebtTypeAxis" xlink:label="us-gaap_LongtermDebtTypeAxis" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LongtermDebtTypeAxis" xlink:to="us-gaap_LongtermDebtTypeAxis_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LongtermDebtTypeAxis_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Long-term Debt, Type [Axis]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongtermDebtTypeDomain" xlink:label="us-gaap_LongtermDebtTypeDomain" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LongtermDebtTypeDomain" xlink:to="us-gaap_LongtermDebtTypeDomain_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LongtermDebtTypeDomain_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Long-term Debt, Type [Domain]</label>
    <loc xlink:type="locator" xlink:href="bld-20230331.xsd#bld_SeniorNotesDue2029Member" xlink:label="bld_SeniorNotesDue2029Member" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="bld_SeniorNotesDue2029Member" xlink:to="bld_SeniorNotesDue2029Member_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="bld_SeniorNotesDue2029Member_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents information pertaining to the 3.625% Senior Notes due 2029.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="bld_SeniorNotesDue2029Member_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">3.625% Senior Notes</label>
    <loc xlink:type="locator" xlink:href="bld-20230331.xsd#bld_SeniorNotesDue2032Member" xlink:label="bld_SeniorNotesDue2032Member" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="bld_SeniorNotesDue2032Member" xlink:to="bld_SeniorNotesDue2032Member_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="bld_SeniorNotesDue2032Member_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents information pertaining to the 4.125% Senior Notes due 2032.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="bld_SeniorNotesDue2032Member_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">4.125% Senior Notes</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SecuredDebtMember" xlink:label="us-gaap_SecuredDebtMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SecuredDebtMember" xlink:to="us-gaap_SecuredDebtMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SecuredDebtMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Term Loan Facility</label>
    <loc xlink:type="locator" xlink:href="bld-20230331.xsd#bld_EquipmentNotesMember" xlink:label="bld_EquipmentNotesMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="bld_EquipmentNotesMember" xlink:to="bld_EquipmentNotesMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="bld_EquipmentNotesMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Information relating to equipment notes executed under a Master Loan and Security Agreement with Banc of America Leasing &amp;amp; Capital, LLC.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="bld_EquipmentNotesMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Equipment Notes</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentLineItems" xlink:label="us-gaap_DebtInstrumentLineItems" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="us-gaap_DebtInstrumentLineItems_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DebtInstrumentLineItems_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Debt Instrument [Line Items]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DebtInstrumentLineItems_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Long-Term Debt</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentInterestRateStatedPercentage" xlink:label="us-gaap_DebtInstrumentInterestRateStatedPercentage" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DebtInstrumentInterestRateStatedPercentage" xlink:to="us-gaap_DebtInstrumentInterestRateStatedPercentage_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DebtInstrumentInterestRateStatedPercentage_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Debt Instrument, Interest Rate, Stated Percentage</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DebtInstrumentInterestRateStatedPercentage_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Interest rate (as a percent)</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentCarryingAmount" xlink:label="us-gaap_DebtInstrumentCarryingAmount" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DebtInstrumentCarryingAmount" xlink:to="us-gaap_DebtInstrumentCarryingAmount_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DebtInstrumentCarryingAmount_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Long-term Debt, Gross</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DebtInstrumentCarryingAmount_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Amount outstanding</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_DebtInstrumentCarryingAmount_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Total</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_DebtInstrumentCarryingAmount_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Long-term debt</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredFinanceCostsNet" xlink:label="us-gaap_DeferredFinanceCostsNet" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredFinanceCostsNet" xlink:to="us-gaap_DeferredFinanceCostsNet_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredFinanceCostsNet_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Deferred Finance Costs, Net</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_DeferredFinanceCostsNet_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Unamortized debt issuance costs</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongTermDebt" xlink:label="us-gaap_LongTermDebt" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LongTermDebt" xlink:to="us-gaap_LongTermDebt_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LongTermDebt_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Long-term Debt.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_LongTermDebt_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Total debt, net of unamortized debt issuance costs</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_LongTermDebt_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Amount outstanding</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongTermDebtByMaturityAbstract" xlink:label="us-gaap_LongTermDebtByMaturityAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LongTermDebtByMaturityAbstract" xlink:to="us-gaap_LongTermDebtByMaturityAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LongTermDebtByMaturityAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Long-term Debt, Fiscal Year Maturity [Abstract]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_LongTermDebtByMaturityAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Schedule of Debt Maturity by Years:</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalRemainderOfFiscalYear" xlink:label="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalRemainderOfFiscalYear" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalRemainderOfFiscalYear" xlink:to="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalRemainderOfFiscalYear_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalRemainderOfFiscalYear_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Long-term Debt, Maturities, Repayments of Principal, Remainder of Fiscal Year</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalRemainderOfFiscalYear_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">2023</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths" xlink:label="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths" xlink:to="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Long-term Debt, Maturities, Repayments of Principal in Next Twelve Months</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">2024</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearTwo" xlink:label="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearTwo" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearTwo" xlink:to="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearTwo_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearTwo_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Long-term Debt, Maturities, Repayments of Principal in Year Two</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearTwo_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">2025</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearThree" xlink:label="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearThree" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearThree" xlink:to="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearThree_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearThree_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Long-term Debt, Maturities, Repayments of Principal in Year Three</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearThree_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">2026</label>
    <loc xlink:type="locator" xlink:href="bld-20230331.xsd#bld_LongTermDebtMaturitiesRepaymentsOfPrincipalAfterYearFour" xlink:label="bld_LongTermDebtMaturitiesRepaymentsOfPrincipalAfterYearFour" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="bld_LongTermDebtMaturitiesRepaymentsOfPrincipalAfterYearFour" xlink:to="bld_LongTermDebtMaturitiesRepaymentsOfPrincipalAfterYearFour_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="bld_LongTermDebtMaturitiesRepaymentsOfPrincipalAfterYearFour_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Amount of long-term debt payable, sinking fund requirement, and other securities issued that are redeemable by holder at fixed or determinable price and date, maturing after fourth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="bld_LongTermDebtMaturitiesRepaymentsOfPrincipalAfterYearFour_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Long-term Debt, Maturities, Repayments of Principal after Year Four</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="bld_LongTermDebtMaturitiesRepaymentsOfPrincipalAfterYearFour_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Thereafter</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentAxis" xlink:label="us-gaap_DebtInstrumentAxis" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DebtInstrumentAxis" xlink:to="us-gaap_DebtInstrumentAxis_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DebtInstrumentAxis_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Debt Instrument [Axis]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentNameDomain" xlink:label="us-gaap_DebtInstrumentNameDomain" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DebtInstrumentNameDomain" xlink:to="us-gaap_DebtInstrumentNameDomain_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DebtInstrumentNameDomain_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Debt Instrument, Name [Domain]</label>
    <loc xlink:type="locator" xlink:href="bld-20230331.xsd#bld_AmendedCreditAgreementDecember2022Member" xlink:label="bld_AmendedCreditAgreementDecember2022Member" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="bld_AmendedCreditAgreementDecember2022Member" xlink:to="bld_AmendedCreditAgreementDecember2022Member_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="bld_AmendedCreditAgreementDecember2022Member_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Information pertaining to Amendment No. 3 to the original credit agreement, entered into December 2022.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="bld_AmendedCreditAgreementDecember2022Member_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Credit Agreement</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShortTermDebtTypeAxis" xlink:label="us-gaap_ShortTermDebtTypeAxis" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShortTermDebtTypeAxis" xlink:to="us-gaap_ShortTermDebtTypeAxis_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShortTermDebtTypeAxis_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Short-term Debt, Type [Axis]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShortTermDebtTypeDomain" xlink:label="us-gaap_ShortTermDebtTypeDomain" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShortTermDebtTypeDomain" xlink:to="us-gaap_ShortTermDebtTypeDomain_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShortTermDebtTypeDomain_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Short-term Debt, Type [Domain]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RevolvingCreditFacilityMember" xlink:label="us-gaap_RevolvingCreditFacilityMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RevolvingCreditFacilityMember" xlink:to="us-gaap_RevolvingCreditFacilityMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RevolvingCreditFacilityMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Revolving Facility</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CreditFacilityAxis" xlink:label="us-gaap_CreditFacilityAxis" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CreditFacilityAxis" xlink:to="us-gaap_CreditFacilityAxis_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CreditFacilityAxis_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Credit Facility [Axis]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CreditFacilityDomain" xlink:label="us-gaap_CreditFacilityDomain" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CreditFacilityDomain" xlink:to="us-gaap_CreditFacilityDomain_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CreditFacilityDomain_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Credit Facility [Domain]</label>
    <loc xlink:type="locator" xlink:href="bld-20230331.xsd#bld_BaseRateBorrowingsMember" xlink:label="bld_BaseRateBorrowingsMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="bld_BaseRateBorrowingsMember" xlink:to="bld_BaseRateBorrowingsMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="bld_BaseRateBorrowingsMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents information regarding Base Rate borrowings.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="bld_BaseRateBorrowingsMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Base Rate Borrowings</label>
    <loc xlink:type="locator" xlink:href="bld-20230331.xsd#bld_SofrRateBorrowingsMember" xlink:label="bld_SofrRateBorrowingsMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="bld_SofrRateBorrowingsMember" xlink:to="bld_SofrRateBorrowingsMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="bld_SofrRateBorrowingsMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents information relating to SOFR rate borrowings.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="bld_SofrRateBorrowingsMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">SOFR Rate Borrowings [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="bld_SofrRateBorrowingsMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">SOFR Rate Borrowings</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_VariableRateAxis" xlink:label="us-gaap_VariableRateAxis" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_VariableRateAxis" xlink:to="us-gaap_VariableRateAxis_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_VariableRateAxis_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Variable Rate [Axis]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_VariableRateDomain" xlink:label="us-gaap_VariableRateDomain" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_VariableRateDomain" xlink:to="us-gaap_VariableRateDomain_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_VariableRateDomain_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Variable Rate [Domain]</label>
    <loc xlink:type="locator" xlink:href="bld-20230331.xsd#bld_FederalFundsRateMember" xlink:label="bld_FederalFundsRateMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="bld_FederalFundsRateMember" xlink:to="bld_FederalFundsRateMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="bld_FederalFundsRateMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">The federal funds rate.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="bld_FederalFundsRateMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Federal Funds Rate</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SecuredOvernightFinancingRateSofrOvernightIndexSwapRateMember" xlink:label="us-gaap_SecuredOvernightFinancingRateSofrOvernightIndexSwapRateMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SecuredOvernightFinancingRateSofrOvernightIndexSwapRateMember" xlink:to="us-gaap_SecuredOvernightFinancingRateSofrOvernightIndexSwapRateMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SecuredOvernightFinancingRateSofrOvernightIndexSwapRateMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Secured Overnight Financing Rate (SOFR) Overnight Index Swap Rate [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_SecuredOvernightFinancingRateSofrOvernightIndexSwapRateMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">SOFR</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_RangeAxis" xlink:label="srt_RangeAxis" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_RangeAxis" xlink:to="srt_RangeAxis_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="srt_RangeAxis_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Range [Axis]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_RangeMember" xlink:label="srt_RangeMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_RangeMember" xlink:to="srt_RangeMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="srt_RangeMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Range [Domain]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_MinimumMember" xlink:label="srt_MinimumMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_MinimumMember" xlink:to="srt_MinimumMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="srt_MinimumMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Minimum</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_MaximumMember" xlink:label="srt_MaximumMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_MaximumMember" xlink:to="srt_MaximumMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="srt_MaximumMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Maximum</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity" xlink:label="us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity" xlink:to="us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Line of Credit Facility, Maximum Borrowing Capacity</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Revolving Facility</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Availability</label>
    <loc xlink:type="locator" xlink:href="bld-20230331.xsd#bld_LineOfCreditFacilityAdditionalBorrowingCapacityDelayedDraw" xlink:label="bld_LineOfCreditFacilityAdditionalBorrowingCapacityDelayedDraw" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="bld_LineOfCreditFacilityAdditionalBorrowingCapacityDelayedDraw" xlink:to="bld_LineOfCreditFacilityAdditionalBorrowingCapacityDelayedDraw_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="bld_LineOfCreditFacilityAdditionalBorrowingCapacityDelayedDraw_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">The additional borrowing capacity available through delayed draw feature.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="bld_LineOfCreditFacilityAdditionalBorrowingCapacityDelayedDraw_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Line of Credit Facility Additional Borrowing Capacity Delayed Draw</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="bld_LineOfCreditFacilityAdditionalBorrowingCapacityDelayedDraw_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Additional delayed draw term loan</label>
    <loc xlink:type="locator" xlink:href="bld-20230331.xsd#bld_LineOfCreditFacilityAdditionalBorrowingCapacityAvailableSubjectToCertainConditions" xlink:label="bld_LineOfCreditFacilityAdditionalBorrowingCapacityAvailableSubjectToCertainConditions" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="bld_LineOfCreditFacilityAdditionalBorrowingCapacityAvailableSubjectToCertainConditions" xlink:to="bld_LineOfCreditFacilityAdditionalBorrowingCapacityAvailableSubjectToCertainConditions_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="bld_LineOfCreditFacilityAdditionalBorrowingCapacityAvailableSubjectToCertainConditions_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents the additional borrowing capacity available, subject to certain conditions.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="bld_LineOfCreditFacilityAdditionalBorrowingCapacityAvailableSubjectToCertainConditions_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Line of Credit Facility Additional Borrowing Capacity Available Subject to Certain Conditions</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="bld_LineOfCreditFacilityAdditionalBorrowingCapacityAvailableSubjectToCertainConditions_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Additional term loan and/or revolver capacity available under incremental facility</label>
    <loc xlink:type="locator" xlink:href="bld-20230331.xsd#bld_LineOfCreditFacilitySublimitAvailableForLettersOfCredit" xlink:label="bld_LineOfCreditFacilitySublimitAvailableForLettersOfCredit" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="bld_LineOfCreditFacilitySublimitAvailableForLettersOfCredit" xlink:to="bld_LineOfCreditFacilitySublimitAvailableForLettersOfCredit_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="bld_LineOfCreditFacilitySublimitAvailableForLettersOfCredit_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents the sublimit available for the issuance of letters of credit under the credit facility.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="bld_LineOfCreditFacilitySublimitAvailableForLettersOfCredit_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Line of Credit Facility Sublimit Available for Letters of Credit</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="bld_LineOfCreditFacilitySublimitAvailableForLettersOfCredit_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Sublimit for issuance of letters of credit under Revolving Facility*</label>
    <loc xlink:type="locator" xlink:href="bld-20230331.xsd#bld_LineOfCreditFacilitySublimitAvailableForSwinglineLoans" xlink:label="bld_LineOfCreditFacilitySublimitAvailableForSwinglineLoans" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="bld_LineOfCreditFacilitySublimitAvailableForSwinglineLoans" xlink:to="bld_LineOfCreditFacilitySublimitAvailableForSwinglineLoans_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="bld_LineOfCreditFacilitySublimitAvailableForSwinglineLoans_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents the sublimit available for swingline loans under the credit facility.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="bld_LineOfCreditFacilitySublimitAvailableForSwinglineLoans_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Line of Credit Facility Sublimit Available for Swingline Loans</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="bld_LineOfCreditFacilitySublimitAvailableForSwinglineLoans_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Sublimit for swingline loans under Revolving Facility*</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentInterestRateEffectivePercentage" xlink:label="us-gaap_DebtInstrumentInterestRateEffectivePercentage" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DebtInstrumentInterestRateEffectivePercentage" xlink:to="us-gaap_DebtInstrumentInterestRateEffectivePercentage_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DebtInstrumentInterestRateEffectivePercentage_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Debt Instrument, Interest Rate, Effective Percentage</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DebtInstrumentInterestRateEffectivePercentage_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Interest rate</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentMaturityDate" xlink:label="us-gaap_DebtInstrumentMaturityDate" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DebtInstrumentMaturityDate" xlink:to="us-gaap_DebtInstrumentMaturityDate_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DebtInstrumentMaturityDate_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Debt Instrument, Maturity Date</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DebtInstrumentMaturityDate_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Scheduled maturity date</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentBasisSpreadOnVariableRate1" xlink:label="us-gaap_DebtInstrumentBasisSpreadOnVariableRate1" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DebtInstrumentBasisSpreadOnVariableRate1" xlink:to="us-gaap_DebtInstrumentBasisSpreadOnVariableRate1_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DebtInstrumentBasisSpreadOnVariableRate1_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Debt Instrument, Basis Spread on Variable Rate</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DebtInstrumentBasisSpreadOnVariableRate1_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Basis spread</label>
    <loc xlink:type="locator" xlink:href="bld-20230331.xsd#bld_DebtInstrumentRedemptionPriceBasisSpreadOnTreasuryRate" xlink:label="bld_DebtInstrumentRedemptionPriceBasisSpreadOnTreasuryRate" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="bld_DebtInstrumentRedemptionPriceBasisSpreadOnTreasuryRate" xlink:to="bld_DebtInstrumentRedemptionPriceBasisSpreadOnTreasuryRate_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="bld_DebtInstrumentRedemptionPriceBasisSpreadOnTreasuryRate_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Percentage points added to the reference rate to compute the redemption price of the debt instrument.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="bld_DebtInstrumentRedemptionPriceBasisSpreadOnTreasuryRate_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Debt Instrument, Redemption Price, Basis Spread on Treasury Rate</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="bld_DebtInstrumentRedemptionPriceBasisSpreadOnTreasuryRate_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Basis spread on treasury rate</label>
    <loc xlink:type="locator" xlink:href="bld-20230331.xsd#bld_DebtInstrumentReferenceRateMaturityPeriod" xlink:label="bld_DebtInstrumentReferenceRateMaturityPeriod" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="bld_DebtInstrumentReferenceRateMaturityPeriod" xlink:to="bld_DebtInstrumentReferenceRateMaturityPeriod_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="bld_DebtInstrumentReferenceRateMaturityPeriod_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">The maturity of the reference rate.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="bld_DebtInstrumentReferenceRateMaturityPeriod_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Debt Instrument Reference Rate Maturity Period</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="bld_DebtInstrumentReferenceRateMaturityPeriod_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Maturity of the reference rate</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentRedemptionPricePercentage" xlink:label="us-gaap_DebtInstrumentRedemptionPricePercentage" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DebtInstrumentRedemptionPricePercentage" xlink:to="us-gaap_DebtInstrumentRedemptionPricePercentage_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DebtInstrumentRedemptionPricePercentage_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Debt Instrument, Redemption Price, Percentage</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DebtInstrumentRedemptionPricePercentage_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Redemption price as a percentage of principal</label>
    <loc xlink:type="locator" xlink:href="bld-20230331.xsd#bld_DebtInstrumentInterestRatePercentageFloor" xlink:label="bld_DebtInstrumentInterestRatePercentageFloor" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="bld_DebtInstrumentInterestRatePercentageFloor" xlink:to="bld_DebtInstrumentInterestRatePercentageFloor_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="bld_DebtInstrumentInterestRatePercentageFloor_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">The debt instrument percentage rate floor.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="bld_DebtInstrumentInterestRatePercentageFloor_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Debt Instrument Interest Rate Percentage, Floor</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="bld_DebtInstrumentInterestRatePercentageFloor_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Interest rate floor (as a percent)</label>
    <loc xlink:type="locator" xlink:href="bld-20230331.xsd#bld_DebitInstrumentApplicableMarginBasedOnTotalLeverageRatio" xlink:label="bld_DebitInstrumentApplicableMarginBasedOnTotalLeverageRatio" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="bld_DebitInstrumentApplicableMarginBasedOnTotalLeverageRatio" xlink:to="bld_DebitInstrumentApplicableMarginBasedOnTotalLeverageRatio_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="bld_DebitInstrumentApplicableMarginBasedOnTotalLeverageRatio_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents the applicable margin based on the total leverage ratio per the terms of the credit agreement.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="bld_DebitInstrumentApplicableMarginBasedOnTotalLeverageRatio_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Debit Instrument Applicable Margin Based on Total Leverage Ratio</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="bld_DebitInstrumentApplicableMarginBasedOnTotalLeverageRatio_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Applicable margin based on total leverage ratio</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage" xlink:label="us-gaap_LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage" xlink:to="us-gaap_LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Line of Credit Facility, Unused Capacity, Commitment Fee Percentage</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Commitment fee (as a percent)</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentFaceAmount" xlink:label="us-gaap_DebtInstrumentFaceAmount" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DebtInstrumentFaceAmount" xlink:to="us-gaap_DebtInstrumentFaceAmount_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DebtInstrumentFaceAmount_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Debt Instrument, Face Amount</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DebtInstrumentFaceAmount_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Principal amount of debt</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentRedemptionPricePercentageOfPrincipalAmountRedeemed" xlink:label="us-gaap_DebtInstrumentRedemptionPricePercentageOfPrincipalAmountRedeemed" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DebtInstrumentRedemptionPricePercentageOfPrincipalAmountRedeemed" xlink:to="us-gaap_DebtInstrumentRedemptionPricePercentageOfPrincipalAmountRedeemed_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DebtInstrumentRedemptionPricePercentageOfPrincipalAmountRedeemed_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Debt Instrument, Redemption Price, Percentage of Principal Amount Redeemed</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DebtInstrumentRedemptionPricePercentageOfPrincipalAmountRedeemed_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Redemption price, percentage of principal amount redeemed</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentTerm" xlink:label="us-gaap_DebtInstrumentTerm" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DebtInstrumentTerm" xlink:to="us-gaap_DebtInstrumentTerm_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DebtInstrumentTerm_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Debt Instrument, Term</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DebtInstrumentTerm_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Debt term</label>
    <loc xlink:type="locator" xlink:href="bld-20230331.xsd#bld_DebtInstrumentConditionalRedemptionThresholdPercentageOfAggregatePrincipalAmountOriginallyIssuedRemainsOutstanding" xlink:label="bld_DebtInstrumentConditionalRedemptionThresholdPercentageOfAggregatePrincipalAmountOriginallyIssuedRemainsOutstanding" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="bld_DebtInstrumentConditionalRedemptionThresholdPercentageOfAggregatePrincipalAmountOriginallyIssuedRemainsOutstanding" xlink:to="bld_DebtInstrumentConditionalRedemptionThresholdPercentageOfAggregatePrincipalAmountOriginallyIssuedRemainsOutstanding_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="bld_DebtInstrumentConditionalRedemptionThresholdPercentageOfAggregatePrincipalAmountOriginallyIssuedRemainsOutstanding_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Threshold percentage of aggregate principal amount of the debt instrument originally issued should remain outstanding after redemption under the debt instrument arrangement.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="bld_DebtInstrumentConditionalRedemptionThresholdPercentageOfAggregatePrincipalAmountOriginallyIssuedRemainsOutstanding_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Debt Instrument, Conditional Redemption, Threshold Percentage Of Aggregate Principal Amount Originally Issued Remains Outstanding</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="bld_DebtInstrumentConditionalRedemptionThresholdPercentageOfAggregatePrincipalAmountOriginallyIssuedRemainsOutstanding_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Debt instrument, conditional redemption, threshold percentage of aggregate principal amount originally issued remains outstanding</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LineOfCreditFacilityTable" xlink:label="us-gaap_LineOfCreditFacilityTable" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LineOfCreditFacilityTable" xlink:to="us-gaap_LineOfCreditFacilityTable_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LineOfCreditFacilityTable_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Line of Credit Facility [Table]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_StatementScenarioAxis" xlink:label="srt_StatementScenarioAxis" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_StatementScenarioAxis" xlink:to="srt_StatementScenarioAxis_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="srt_StatementScenarioAxis_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Scenario [Axis]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ScenarioUnspecifiedDomain" xlink:label="srt_ScenarioUnspecifiedDomain" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_ScenarioUnspecifiedDomain" xlink:to="srt_ScenarioUnspecifiedDomain_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="srt_ScenarioUnspecifiedDomain_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Scenario, Unspecified [Domain]</label>
    <loc xlink:type="locator" xlink:href="bld-20230331.xsd#bld_EventOfDefaultScenarioMember" xlink:label="bld_EventOfDefaultScenarioMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="bld_EventOfDefaultScenarioMember" xlink:to="bld_EventOfDefaultScenarioMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="bld_EventOfDefaultScenarioMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">The scenario representing an event of default.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="bld_EventOfDefaultScenarioMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Event of Default Scenario</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LettersOfCreditOutstandingAmount" xlink:label="us-gaap_LettersOfCreditOutstandingAmount" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LettersOfCreditOutstandingAmount" xlink:to="us-gaap_LettersOfCreditOutstandingAmount_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LettersOfCreditOutstandingAmount_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Letters of Credit Outstanding, Amount</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_LettersOfCreditOutstandingAmount_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Less: standby letters of credit</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LineOfCreditFacilityCurrentBorrowingCapacity" xlink:label="us-gaap_LineOfCreditFacilityCurrentBorrowingCapacity" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LineOfCreditFacilityCurrentBorrowingCapacity" xlink:to="us-gaap_LineOfCreditFacilityCurrentBorrowingCapacity_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LineOfCreditFacilityCurrentBorrowingCapacity_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Line of Credit Facility, Current Borrowing Capacity</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_LineOfCreditFacilityCurrentBorrowingCapacity_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Availability under revolving facility</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongTermDebtOtherDisclosuresAbstract" xlink:label="us-gaap_LongTermDebtOtherDisclosuresAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LongTermDebtOtherDisclosuresAbstract" xlink:to="us-gaap_LongTermDebtOtherDisclosuresAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LongTermDebtOtherDisclosuresAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Long-term Debt, Other Disclosures [Abstract]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_LongTermDebtOtherDisclosuresAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Debt covenants</label>
    <loc xlink:type="locator" xlink:href="bld-20230331.xsd#bld_MinimumPercentageOfDebtImmediatelyDueAndPayable" xlink:label="bld_MinimumPercentageOfDebtImmediatelyDueAndPayable" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="bld_MinimumPercentageOfDebtImmediatelyDueAndPayable" xlink:to="bld_MinimumPercentageOfDebtImmediatelyDueAndPayable_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="bld_MinimumPercentageOfDebtImmediatelyDueAndPayable_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">The percentage of debtholders needed to declare outstanding principal and accrued interest, if any, immediately due and payable upon an event of default.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="bld_MinimumPercentageOfDebtImmediatelyDueAndPayable_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Minimum Percentage of Debt Immediately Due and Payable</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="bld_MinimumPercentageOfDebtImmediatelyDueAndPayable_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Minimum percentage of principal of debt holders to declare debt immediately due and payable</label>
    <loc xlink:type="locator" xlink:href="bld-20230331.xsd#bld_ChangeInControlScenarioMember" xlink:label="bld_ChangeInControlScenarioMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="bld_ChangeInControlScenarioMember" xlink:to="bld_ChangeInControlScenarioMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="bld_ChangeInControlScenarioMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">The scenario representing a change in control.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="bld_ChangeInControlScenarioMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Change in Control Scenario</label>
    <loc xlink:type="locator" xlink:href="bld-20230331.xsd#bld_DebtInstrumentRedemptionOptionOneMember" xlink:label="bld_DebtInstrumentRedemptionOptionOneMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="bld_DebtInstrumentRedemptionOptionOneMember" xlink:to="bld_DebtInstrumentRedemptionOptionOneMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="bld_DebtInstrumentRedemptionOptionOneMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents information pertaining to debt instrument redemption option one.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="bld_DebtInstrumentRedemptionOptionOneMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Debt Instrument Redemption Option One</label>
    <loc xlink:type="locator" xlink:href="bld-20230331.xsd#bld_DebtInstrumentRedemptionOptionTwoMember" xlink:label="bld_DebtInstrumentRedemptionOptionTwoMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="bld_DebtInstrumentRedemptionOptionTwoMember" xlink:to="bld_DebtInstrumentRedemptionOptionTwoMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="bld_DebtInstrumentRedemptionOptionTwoMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents information pertaining to debt instrument redemption option two.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="bld_DebtInstrumentRedemptionOptionTwoMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Debt Instrument Redemption Option Two</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentRedemptionPeriodAxis" xlink:label="us-gaap_DebtInstrumentRedemptionPeriodAxis" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DebtInstrumentRedemptionPeriodAxis" xlink:to="us-gaap_DebtInstrumentRedemptionPeriodAxis_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DebtInstrumentRedemptionPeriodAxis_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Debt Instrument, Redemption, Period [Axis]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentRedemptionPeriodDomain" xlink:label="us-gaap_DebtInstrumentRedemptionPeriodDomain" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DebtInstrumentRedemptionPeriodDomain" xlink:to="us-gaap_DebtInstrumentRedemptionPeriodDomain_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DebtInstrumentRedemptionPeriodDomain_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Debt Instrument, Redemption, Period [Domain]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentRedemptionPeriodOneMember" xlink:label="us-gaap_DebtInstrumentRedemptionPeriodOneMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DebtInstrumentRedemptionPeriodOneMember" xlink:to="us-gaap_DebtInstrumentRedemptionPeriodOneMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DebtInstrumentRedemptionPeriodOneMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Prior to March 15, 2024</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentRedemptionPeriodTwoMember" xlink:label="us-gaap_DebtInstrumentRedemptionPeriodTwoMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DebtInstrumentRedemptionPeriodTwoMember" xlink:to="us-gaap_DebtInstrumentRedemptionPeriodTwoMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DebtInstrumentRedemptionPeriodTwoMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">On or after October 15, 2026</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentRedemptionPeriodThreeMember" xlink:label="us-gaap_DebtInstrumentRedemptionPeriodThreeMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DebtInstrumentRedemptionPeriodThreeMember" xlink:to="us-gaap_DebtInstrumentRedemptionPeriodThreeMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DebtInstrumentRedemptionPeriodThreeMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">On or after October 15, 2027</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentRedemptionPeriodFourMember" xlink:label="us-gaap_DebtInstrumentRedemptionPeriodFourMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DebtInstrumentRedemptionPeriodFourMember" xlink:to="us-gaap_DebtInstrumentRedemptionPeriodFourMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DebtInstrumentRedemptionPeriodFourMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">On or after October 15, 2028</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentRedemptionPeriodFiveMember" xlink:label="us-gaap_DebtInstrumentRedemptionPeriodFiveMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DebtInstrumentRedemptionPeriodFiveMember" xlink:to="us-gaap_DebtInstrumentRedemptionPeriodFiveMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DebtInstrumentRedemptionPeriodFiveMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">On October 15, 2029 and thereafter</label>
    <loc xlink:type="locator" xlink:href="bld-20230331.xsd#bld_DebtInstrumentRedemptionPeriodSixMember" xlink:label="bld_DebtInstrumentRedemptionPeriodSixMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="bld_DebtInstrumentRedemptionPeriodSixMember" xlink:to="bld_DebtInstrumentRedemptionPeriodSixMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="bld_DebtInstrumentRedemptionPeriodSixMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Period six representing debt redemption features under terms of the debt agreement.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="bld_DebtInstrumentRedemptionPeriodSixMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Prior to October 15, 2026</label>
    <loc xlink:type="locator" xlink:href="bld-20230331.xsd#bld_DebtInstrumentRedemptionPeriodSevenMember" xlink:label="bld_DebtInstrumentRedemptionPeriodSevenMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="bld_DebtInstrumentRedemptionPeriodSevenMember" xlink:to="bld_DebtInstrumentRedemptionPeriodSevenMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="bld_DebtInstrumentRedemptionPeriodSevenMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Period seven representing debt redemption features under terms of the debt agreement.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="bld_DebtInstrumentRedemptionPeriodSevenMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Prior to October 15, 2024</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SeniorNotesMember" xlink:label="us-gaap_SeniorNotesMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SeniorNotesMember" xlink:to="us-gaap_SeniorNotesMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SeniorNotesMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Senior Notes</label>
    <loc xlink:type="locator" xlink:href="bld-20230331.xsd#bld_DebtInstrumentCovenantNetLeverageRatio" xlink:label="bld_DebtInstrumentCovenantNetLeverageRatio" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="bld_DebtInstrumentCovenantNetLeverageRatio" xlink:to="bld_DebtInstrumentCovenantNetLeverageRatio_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="bld_DebtInstrumentCovenantNetLeverageRatio_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents the ratio of total debt (less certain cash) to consolidated adjusted earnings before, interest, taxes, depreciation and amortization allowed under the terms of the credit agreement's covenants.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="bld_DebtInstrumentCovenantNetLeverageRatio_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Debt Instrument Covenant Net Leverage Ratio</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="bld_DebtInstrumentCovenantNetLeverageRatio_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Maximum Net Leverage Ratio</label>
    <loc xlink:type="locator" xlink:href="bld-20230331.xsd#bld_DebtInstrumentCovenantMinimumInterestCoverageRatio" xlink:label="bld_DebtInstrumentCovenantMinimumInterestCoverageRatio" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="bld_DebtInstrumentCovenantMinimumInterestCoverageRatio" xlink:to="bld_DebtInstrumentCovenantMinimumInterestCoverageRatio_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="bld_DebtInstrumentCovenantMinimumInterestCoverageRatio_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents the minimum interest coverage ratio allowed under the terms of the credit agreement's covenants.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="bld_DebtInstrumentCovenantMinimumInterestCoverageRatio_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Debt Instrument Covenant Minimum Interest Coverage Ratio</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="bld_DebtInstrumentCovenantMinimumInterestCoverageRatio_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Minimum Interest Coverage Ratio</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable" xlink:label="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable" xlink:to="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Fair Value Measurements, Recurring and Nonrecurring [Table]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueByMeasurementFrequencyAxis" xlink:label="us-gaap_FairValueByMeasurementFrequencyAxis" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FairValueByMeasurementFrequencyAxis" xlink:to="us-gaap_FairValueByMeasurementFrequencyAxis_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FairValueByMeasurementFrequencyAxis_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Measurement Frequency [Axis]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueMeasurementFrequencyDomain" xlink:label="us-gaap_FairValueMeasurementFrequencyDomain" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FairValueMeasurementFrequencyDomain" xlink:to="us-gaap_FairValueMeasurementFrequencyDomain_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FairValueMeasurementFrequencyDomain_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Measurement Frequency [Domain]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueMeasurementsNonrecurringMember" xlink:label="us-gaap_FairValueMeasurementsNonrecurringMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FairValueMeasurementsNonrecurringMember" xlink:to="us-gaap_FairValueMeasurementsNonrecurringMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FairValueMeasurementsNonrecurringMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Fair Value on Non-Recurring Basis</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueByFairValueHierarchyLevelAxis" xlink:label="us-gaap_FairValueByFairValueHierarchyLevelAxis" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FairValueByFairValueHierarchyLevelAxis" xlink:to="us-gaap_FairValueByFairValueHierarchyLevelAxis_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FairValueByFairValueHierarchyLevelAxis_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Fair Value Hierarchy and NAV [Axis]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueMeasurementsFairValueHierarchyDomain" xlink:label="us-gaap_FairValueMeasurementsFairValueHierarchyDomain" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FairValueMeasurementsFairValueHierarchyDomain" xlink:to="us-gaap_FairValueMeasurementsFairValueHierarchyDomain_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FairValueMeasurementsFairValueHierarchyDomain_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Fair Value Hierarchy and NAV [Domain]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueInputsLevel1Member" xlink:label="us-gaap_FairValueInputsLevel1Member" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FairValueInputsLevel1Member" xlink:to="us-gaap_FairValueInputsLevel1Member_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FairValueInputsLevel1Member_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Level 1 fair value measurement</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems" xlink:label="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems" xlink:to="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueInputsQuantitativeInformationAbstract" xlink:label="us-gaap_FairValueInputsQuantitativeInformationAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FairValueInputsQuantitativeInformationAbstract" xlink:to="us-gaap_FairValueInputsQuantitativeInformationAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FairValueInputsQuantitativeInformationAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Fair Value, Transfers Between Level 1 and Level 2, Description and Policy [Abstract]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_FairValueInputsQuantitativeInformationAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Fair Value on Non-Recurring Basis</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentFairValue" xlink:label="us-gaap_DebtInstrumentFairValue" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DebtInstrumentFairValue" xlink:to="us-gaap_DebtInstrumentFairValue_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DebtInstrumentFairValue_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Debt Instrument, Fair Value Disclosure</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DebtInstrumentFairValue_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Fair value</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable" xlink:label="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable" xlink:to="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Schedule of Segment Reporting Information, by Segment [Table]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IntersegmentEliminationMember" xlink:label="us-gaap_IntersegmentEliminationMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IntersegmentEliminationMember" xlink:to="us-gaap_IntersegmentEliminationMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IntersegmentEliminationMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Intercompany Eliminations</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CorporateNonSegmentMember" xlink:label="us-gaap_CorporateNonSegmentMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CorporateNonSegmentMember" xlink:to="us-gaap_CorporateNonSegmentMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CorporateNonSegmentMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Corporate</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SegmentReportingInformationLineItems" xlink:label="us-gaap_SegmentReportingInformationLineItems" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SegmentReportingInformationLineItems" xlink:to="us-gaap_SegmentReportingInformationLineItems_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SegmentReportingInformationLineItems_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Segment Reporting Information [Line Items]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_SegmentReportingInformationLineItems_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Segment information</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingExpenses" xlink:label="us-gaap_OperatingExpenses" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingExpenses" xlink:to="us-gaap_OperatingExpenses_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OperatingExpenses_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Operating Expenses</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_OperatingExpenses_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">General corporate expense, net</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EffectiveIncomeTaxRateContinuingOperations" xlink:label="us-gaap_EffectiveIncomeTaxRateContinuingOperations" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EffectiveIncomeTaxRateContinuingOperations" xlink:to="us-gaap_EffectiveIncomeTaxRateContinuingOperations_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EffectiveIncomeTaxRateContinuingOperations_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Effective Income Tax Rate Reconciliation, Percent</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_EffectiveIncomeTaxRateContinuingOperations_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Effective tax rate (as a percent)</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense" xlink:label="us-gaap_EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense" xlink:to="us-gaap_EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Employee Service Share-based Compensation, Tax Benefit from Compensation Expense</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Income tax (expense) benefit</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Benefit related to share-based compensation</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredTaxLiabilities" xlink:label="us-gaap_DeferredTaxLiabilities" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredTaxLiabilities" xlink:to="us-gaap_DeferredTaxLiabilities_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredTaxLiabilities_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Deferred Tax Liabilities, Net</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DeferredTaxLiabilities_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Net deferred tax liability</label>
    <loc xlink:type="locator" xlink:href="bld-20230331.xsd#bld_VestingBasedOnServiceMember" xlink:label="bld_VestingBasedOnServiceMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="bld_VestingBasedOnServiceMember" xlink:to="bld_VestingBasedOnServiceMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="bld_VestingBasedOnServiceMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents a share based compensation award with vesting based on length of service.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="bld_VestingBasedOnServiceMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Service-based conditions</label>
    <loc xlink:type="locator" xlink:href="bld-20230331.xsd#bld_VestingBasedOnMarketConditionsMember" xlink:label="bld_VestingBasedOnMarketConditionsMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="bld_VestingBasedOnMarketConditionsMember" xlink:to="bld_VestingBasedOnMarketConditionsMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="bld_VestingBasedOnMarketConditionsMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents a share based compensation award with vesting based on market conditions.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="bld_VestingBasedOnMarketConditionsMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Market-based conditions</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustmentAbstract" xlink:label="us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustmentAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustmentAbstract" xlink:to="us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustmentAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustmentAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Incremental Weighted Average Shares Attributable to Dilutive Effect [Abstract]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustmentAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Dilutive effect of common stock equivalents:</label>
    <loc xlink:type="locator" xlink:href="bld-20230331.xsd#bld_IncrementalCommonSharesAttributableToDilutiveEffectOfRestrictedStockAwards" xlink:label="bld_IncrementalCommonSharesAttributableToDilutiveEffectOfRestrictedStockAwards" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="bld_IncrementalCommonSharesAttributableToDilutiveEffectOfRestrictedStockAwards" xlink:to="bld_IncrementalCommonSharesAttributableToDilutiveEffectOfRestrictedStockAwards_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="bld_IncrementalCommonSharesAttributableToDilutiveEffectOfRestrictedStockAwards_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Additional shares included in the calculation of diluted EPS as a result of the potentially dilutive effect of restricted stock awards using the treasury stock method.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="bld_IncrementalCommonSharesAttributableToDilutiveEffectOfRestrictedStockAwards_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Incremental Common Shares Attributable to Dilutive Effect of Restricted Stock Awards</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="bld_IncrementalCommonSharesAttributableToDilutiveEffectOfRestrictedStockAwards_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Restricted stock awards</label>
    <loc xlink:type="locator" xlink:href="bld-20230331.xsd#bld_IncrementalCommonSharesAttributableToDilutiveEffectOfStockOptions" xlink:label="bld_IncrementalCommonSharesAttributableToDilutiveEffectOfStockOptions" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="bld_IncrementalCommonSharesAttributableToDilutiveEffectOfStockOptions" xlink:to="bld_IncrementalCommonSharesAttributableToDilutiveEffectOfStockOptions_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="bld_IncrementalCommonSharesAttributableToDilutiveEffectOfStockOptions_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Additional shares included in the calculation of diluted EPS as a result of the potentially dilutive effect of stock options using the treasury stock method.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="bld_IncrementalCommonSharesAttributableToDilutiveEffectOfStockOptions_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Incremental Common Shares Attributable to Dilutive Effect of Stock Options</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="bld_IncrementalCommonSharesAttributableToDilutiveEffectOfStockOptions_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Stock options</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable" xlink:label="us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable" xlink:to="us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Schedule of Antidilutive Securities Excluded from Computation of Earnings Per Share [Table]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis" xlink:label="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis" xlink:to="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Antidilutive Securities [Axis]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AntidilutiveSecuritiesNameDomain" xlink:label="us-gaap_AntidilutiveSecuritiesNameDomain" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AntidilutiveSecuritiesNameDomain" xlink:to="us-gaap_AntidilutiveSecuritiesNameDomain_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AntidilutiveSecuritiesNameDomain_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Antidilutive Securities, Name [Domain]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EmployeeStockOptionMember" xlink:label="us-gaap_EmployeeStockOptionMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EmployeeStockOptionMember" xlink:to="us-gaap_EmployeeStockOptionMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EmployeeStockOptionMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Stock Options</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems" xlink:label="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems" xlink:to="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Antidilutive Securities Excluded from Computation of Earnings Per Share [Line Items]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Anti-dilutive common stock equivalents</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" xlink:label="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" xlink:to="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Antidilutive Securities Excluded from Computation of Earnings Per Share, Amount</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Total anti-dilutive common stock equivalents</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable" xlink:label="us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable" xlink:to="us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Schedule of Employee Service Share-based Compensation, Allocation of Recognized Period Costs [Table]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PlanNameAxis" xlink:label="us-gaap_PlanNameAxis" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PlanNameAxis" xlink:to="us-gaap_PlanNameAxis_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PlanNameAxis_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Plan Name [Axis]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PlanNameDomain" xlink:label="us-gaap_PlanNameDomain" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PlanNameDomain" xlink:to="us-gaap_PlanNameDomain_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PlanNameDomain_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Plan Name [Domain]</label>
    <loc xlink:type="locator" xlink:href="bld-20230331.xsd#bld_LongTermIncentivePlanMember" xlink:label="bld_LongTermIncentivePlanMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="bld_LongTermIncentivePlanMember" xlink:to="bld_LongTermIncentivePlanMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="bld_LongTermIncentivePlanMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents information related to the 2015 plan.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="bld_LongTermIncentivePlanMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">2015 Plan</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems" xlink:label="us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems" xlink:to="us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Share-based Compensation Arrangement by Share-based Payment Award, Compensation Cost [Line Items]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Share-Based Compensation</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Share-based Compensation Arrangement by Share-based Payment Award, Number of Shares Authorized</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Number of shares authorized</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AllocatedShareBasedCompensationExpense" xlink:label="us-gaap_AllocatedShareBasedCompensationExpense" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AllocatedShareBasedCompensationExpense" xlink:to="us-gaap_AllocatedShareBasedCompensationExpense_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AllocatedShareBasedCompensationExpense_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Allocated Share-based Compensation Expense</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_AllocatedShareBasedCompensationExpense_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Share-based compensation expense</label>
    <loc xlink:type="locator" xlink:href="bld-20230331.xsd#bld_RestrictedStockAwardsGrantedFebruary2020Member" xlink:label="bld_RestrictedStockAwardsGrantedFebruary2020Member" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="bld_RestrictedStockAwardsGrantedFebruary2020Member" xlink:to="bld_RestrictedStockAwardsGrantedFebruary2020Member_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="bld_RestrictedStockAwardsGrantedFebruary2020Member_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Information pertaining to restricted stock awards granted on February 17, 2020.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="bld_RestrictedStockAwardsGrantedFebruary2020Member_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">RSAs granted February 17, 2020</label>
    <loc xlink:type="locator" xlink:href="bld-20230331.xsd#bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeAxis" xlink:label="bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeAxis" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeAxis" xlink:to="bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeAxis_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeAxis_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Information relating to payout ranges of the share-based compensation awards.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeAxis_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Share-based Compensation Arrangement by Share-based Payment Award Payout Range [Axis]</label>
    <loc xlink:type="locator" xlink:href="bld-20230331.xsd#bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeDomain" xlink:label="bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeDomain" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeDomain" xlink:to="bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeDomain_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeDomain_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Identification of the payout ranges of the share-based compensation awards.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeDomain_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Share-based Compensation Arrangement by Share-based Payment Award Payout Range [Domain]</label>
    <loc xlink:type="locator" xlink:href="bld-20230331.xsd#bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeOneMember" xlink:label="bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeOneMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeOneMember" xlink:to="bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeOneMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeOneMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Range one of the payout range related to performance-based awards.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeOneMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Payout Range-0%</label>
    <loc xlink:type="locator" xlink:href="bld-20230331.xsd#bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeTwoMember" xlink:label="bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeTwoMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeTwoMember" xlink:to="bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeTwoMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeTwoMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Range two of the payout range related to performance-based awards.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeTwoMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Payout Range-25%</label>
    <loc xlink:type="locator" xlink:href="bld-20230331.xsd#bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeThreeMember" xlink:label="bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeThreeMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeThreeMember" xlink:to="bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeThreeMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeThreeMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Range three of the payout range related to performance-based awards.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeThreeMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Payout Range-100%</label>
    <loc xlink:type="locator" xlink:href="bld-20230331.xsd#bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeFourMember" xlink:label="bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeFourMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeFourMember" xlink:to="bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeFourMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeFourMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Range four of the payout range related to performance-based awards.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeFourMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Payout Range-200%</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Nonvested, Number of Shares [Roll Forward]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Restricted Stock Awards, Number of Shares</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Nonvested, Number</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Balance at end of period (in shares)</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Balance at beginning of period (in shares)</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Grants in Period</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Granted (in shares)</label>
    <loc xlink:type="locator" xlink:href="bld-20230331.xsd#bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsConvertedExercisedInPeriod" xlink:label="bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsConvertedExercisedInPeriod" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsConvertedExercisedInPeriod" xlink:to="bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsConvertedExercisedInPeriod_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsConvertedExercisedInPeriod_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">The number of equity-based payment instruments, excluding stock (or unit) options, that were converted/exercised during the reporting period.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsConvertedExercisedInPeriod_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Converted, Exercised in Period</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsConvertedExercisedInPeriod_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Converted/Exercised (in shares)</label>
    <loc xlink:type="locator" xlink:href="bld-20230331.xsd#bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedOrExpiredInPeriod" xlink:label="bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedOrExpiredInPeriod" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedOrExpiredInPeriod" xlink:to="bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedOrExpiredInPeriod_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedOrExpiredInPeriod_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">The number of equity-based payment instruments, excluding stock (or unit) options, that were forfeited or expired during the reporting period.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedOrExpiredInPeriod_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Forfeited or Expired in Period</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedOrExpiredInPeriod_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Forfeited/Expired (in shares)</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Nonvested, Weighted Average Grant Date Fair Value [Abstract]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Restricted Stock Awards, Weighted Average Grant Date Fair Value Per Share</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Nonvested, Weighted Average Grant Date Fair Value</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Balance at end of period (in dollars per share)</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Balance at beginning of period (in dollars per share)</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Grants in Period, Weighted Average Grant Date Fair Value</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Granted (in dollars per share)</label>
    <loc xlink:type="locator" xlink:href="bld-20230331.xsd#bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsConvertedExercisedWeightedAverageGrantDateFairValue" xlink:label="bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsConvertedExercisedWeightedAverageGrantDateFairValue" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsConvertedExercisedWeightedAverageGrantDateFairValue" xlink:to="bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsConvertedExercisedWeightedAverageGrantDateFairValue_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsConvertedExercisedWeightedAverageGrantDateFairValue_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Weighted average fair value as of the grant date of equity-based award plans other than stock (unit) option plans that were converted/exercised.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsConvertedExercisedWeightedAverageGrantDateFairValue_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Converted, Exercised, Weighted Average Grant Date Fair Value</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsConvertedExercisedWeightedAverageGrantDateFairValue_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Converted/Exercised (in dollars per share)</label>
    <loc xlink:type="locator" xlink:href="bld-20230331.xsd#bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedOrExpiredWeightedAverageGrantDateFairValue" xlink:label="bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedOrExpiredWeightedAverageGrantDateFairValue" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedOrExpiredWeightedAverageGrantDateFairValue" xlink:to="bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedOrExpiredWeightedAverageGrantDateFairValue_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedOrExpiredWeightedAverageGrantDateFairValue_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Weighted average fair value as of the grant date of equity-based award plans other than stock (unit) option plans that were forfeited or expired.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedOrExpiredWeightedAverageGrantDateFairValue_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Forfeited or Expired, Weighted Average Grant Date Fair Value</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedOrExpiredWeightedAverageGrantDateFairValue_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Forfeited/Expired (in dollars per share)</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding [Roll Forward]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Stock Options, Number of Shares</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding, Number</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Balance at end of period (in shares)</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Balance at beginning of period (in shares)</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValueAbstract" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValueAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValueAbstract" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValueAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValueAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Share-based Compensation Arrangement by Share-based Payment Award, Options, Nonvested, Weighted Average Grant Date Fair Value [Abstract]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValueAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Stock Options, Weighted Average Grant Date Fair Value Per Share</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Share-based Compensation Arrangement by Share-based Payment Award, Options, Nonvested, Weighted Average Grant Date Fair Value</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Balance at end of period (in dollars per share)</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Balance at beginning of period (in dollars per share)</label>
    <loc xlink:type="locator" xlink:href="bld-20230331.xsd#bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsConvertedExercisedWeightedAverageGrantDateFairValue" xlink:label="bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsConvertedExercisedWeightedAverageGrantDateFairValue" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsConvertedExercisedWeightedAverageGrantDateFairValue" xlink:to="bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsConvertedExercisedWeightedAverageGrantDateFairValue_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsConvertedExercisedWeightedAverageGrantDateFairValue_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Weighted average grant-date fair value of options converted/exercised.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsConvertedExercisedWeightedAverageGrantDateFairValue_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Share-based Compensation Arrangement by Share-based Payment Award, Options, Converted, Exercised, Weighted Average Grant Date Fair Value</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsConvertedExercisedWeightedAverageGrantDateFairValue_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Converted/Exercised (in dollars per share)</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding, Weighted Average Exercise Price [Abstract]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Stock Options, Weighted Average Exercise Price Per Share</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding, Weighted Average Exercise Price</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Balance at end of period (in dollars per share)</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Balance at beginning of period (in dollars per share)</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Share-based Compensation Arrangements by Share-based Payment Award, Options, Exercises in Period, Weighted Average Exercise Price</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Converted/Exercised (in dollars per share)</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosuresAbstract" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosuresAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosuresAbstract" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosuresAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosuresAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Share-based Compensation Arrangement by Share-based Payment Award, Options, Additional Disclosures [Abstract]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosuresAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Stock options, additional disclosures</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding, Intrinsic Value</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Aggregate intrinsic value</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Share-based Compensation Arrangement by Share-based Payment Award, Options, Exercises in Period, Intrinsic Value</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Converted/Exercised aggregate intrinsic value</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Share-based Compensation Arrangement by Share-based Payment Award, Options, Exercisable, Number</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Exercisable, Number of shares</label>
    <loc xlink:type="locator" xlink:href="bld-20230331.xsd#bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageGrantDateFairValue" xlink:label="bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageGrantDateFairValue" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageGrantDateFairValue" xlink:to="bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageGrantDateFairValue_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageGrantDateFairValue_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents the Share Based Compensation Arrangement By Share Based Payment Award Options Exercisable Weighted Average Grant Date Fair Value.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageGrantDateFairValue_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Share Based Compensation Arrangement By Share Based Payment Award Options Exercisable Weighted Average Grant Date Fair Value</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageGrantDateFairValue_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Exercisable, Weighted Average Grant Date Fair Value Per Share</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Share-based Compensation Arrangement by Share-based Payment Award, Options, Exercisable, Weighted Average Exercise Price</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Exercisable Weighted Average Exercise Price Per Share</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Share-based Compensation Arrangement by Share-based Payment Award, Options, Exercisable, Intrinsic Value</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Exercisable, Aggregate Intrinsic Value</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageRemainingContractualTerm1" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageRemainingContractualTerm1" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageRemainingContractualTerm1" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageRemainingContractualTerm1_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageRemainingContractualTerm1_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Share-based Compensation Arrangement by Share-based Payment Award, Options, Vested and Expected to Vest, Exercisable, Weighted Average Remaining Contractual Term</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageRemainingContractualTerm1_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Weighted average remaining contractual term for vested stock options</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedAbstract" xlink:label="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedAbstract" xlink:to="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Unrecognized share-based compensation expense relating to unvested awards</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Unrecognized share-based compensation expense</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions" xlink:label="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions" xlink:to="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Employee Service Share-based Compensation, Nonvested Awards, Compensation Not yet Recognized, Share-based Awards Other than Options</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">RSAs, Unrecognized Compensation Expense on Unvested Awards</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions" xlink:label="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions" xlink:to="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Employee Service Share-based Compensation, Nonvested Awards, Compensation Not yet Recognized, Stock Options</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Stock options, Unrecognized Compensation Expense on Unvested Awards</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" xlink:label="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" xlink:to="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Share-Based Payment Arrangement, Nonvested Award, Cost Not yet Recognized, Period for Recognition</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Weighted Average Remaining Compensation Expense Period</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized" xlink:label="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized" xlink:to="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Employee Service Share-based Compensation, Nonvested Awards, Compensation Cost Not yet Recognized</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Total unrecognized compensation expense related to unvested awards</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdditionalDisclosuresAbstract" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdditionalDisclosuresAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdditionalDisclosuresAbstract" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdditionalDisclosuresAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdditionalDisclosuresAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Additional Disclosures [Abstract]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdditionalDisclosuresAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Restricted stock awards, additional disclosures</label>
    <loc xlink:type="locator" xlink:href="bld-20230331.xsd#bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardOtherThanOptionsGrantsInPeriodTotalGrantDateFairValue" xlink:label="bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardOtherThanOptionsGrantsInPeriodTotalGrantDateFairValue" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardOtherThanOptionsGrantsInPeriodTotalGrantDateFairValue" xlink:to="bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardOtherThanOptionsGrantsInPeriodTotalGrantDateFairValue_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardOtherThanOptionsGrantsInPeriodTotalGrantDateFairValue_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents the total fair value of equity-based awards, other then options, granted during the reporting period.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardOtherThanOptionsGrantsInPeriodTotalGrantDateFairValue_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Share Based Compensation Arrangement By Share Based Payment Award Other Than Options Grants In Period Total Grant Date Fair Value</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardOtherThanOptionsGrantsInPeriodTotalGrantDateFairValue_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Grant date fair value</label>
    <loc xlink:type="locator" xlink:href="bld-20230331.xsd#bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangePercentage" xlink:label="bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangePercentage" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangePercentage" xlink:to="bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangePercentage_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangePercentage_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">The payout range expressed as a percentage of the grant date fair value related to performance-based awards.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangePercentage_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Share-based Compensation Arrangement by Share-based Payment Award, Payout Range Percentage</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangePercentage_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Payout range (as a percent)</label>
    <loc xlink:type="locator" xlink:href="bld-20230331.xsd#bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeRelatedExpenses" xlink:label="bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeRelatedExpenses" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeRelatedExpenses" xlink:to="bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeRelatedExpenses_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeRelatedExpenses_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">The compensation expense based on the payout range related to performance-based awards.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeRelatedExpenses_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Share-based Compensation Arrangement by Share-based Payment Award, Payout Range Related Expenses</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeRelatedExpenses_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Related expenses</label>
    <loc xlink:type="locator" xlink:href="bld-20230331.xsd#bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardOtherThanOptionsGrantsCumulativePeriodOfAchievement" xlink:label="bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardOtherThanOptionsGrantsCumulativePeriodOfAchievement" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardOtherThanOptionsGrantsCumulativePeriodOfAchievement" xlink:to="bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardOtherThanOptionsGrantsCumulativePeriodOfAchievement_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardOtherThanOptionsGrantsCumulativePeriodOfAchievement_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">The cumulative period of achievement related to restricted stock awards with performance conditions.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardOtherThanOptionsGrantsCumulativePeriodOfAchievement_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Share-based Compensation Arrangement By Share-based Payment Award Other Than Options Grants, Cumulative Period of Achievement</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardOtherThanOptionsGrantsCumulativePeriodOfAchievement_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Cumulative period of achievement</label>
    <loc xlink:type="locator" xlink:href="bld-20230331.xsd#bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardOtherThanOptionsGrantsCumulativePeriodOfAchievementPercentage" xlink:label="bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardOtherThanOptionsGrantsCumulativePeriodOfAchievementPercentage" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardOtherThanOptionsGrantsCumulativePeriodOfAchievementPercentage" xlink:to="bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardOtherThanOptionsGrantsCumulativePeriodOfAchievementPercentage_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardOtherThanOptionsGrantsCumulativePeriodOfAchievementPercentage_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">The cumulative three-year achievement percentage related to the restricted stock awards with performance conditions.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardOtherThanOptionsGrantsCumulativePeriodOfAchievementPercentage_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Share-based Compensation Arrangement By Share-based Payment Award Other Than Options Grants, Cumulative Period of Achievement Percentage</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardOtherThanOptionsGrantsCumulativePeriodOfAchievementPercentage_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Cumulative achievement percentage</label>
    <loc xlink:type="locator" xlink:href="bld-20230331.xsd#bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardOtherThanOptionsGrantsTotalCompensationExpenseRecognizedOverPerformancePeriod" xlink:label="bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardOtherThanOptionsGrantsTotalCompensationExpenseRecognizedOverPerformancePeriod" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardOtherThanOptionsGrantsTotalCompensationExpenseRecognizedOverPerformancePeriod" xlink:to="bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardOtherThanOptionsGrantsTotalCompensationExpenseRecognizedOverPerformancePeriod_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardOtherThanOptionsGrantsTotalCompensationExpenseRecognizedOverPerformancePeriod_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">The total compensation expense recognized over the performance period, net of forfeitures, related to the restricted stock awards with performance conditions.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardOtherThanOptionsGrantsTotalCompensationExpenseRecognizedOverPerformancePeriod_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Share-based Compensation Arrangement By Share-based Payment Award Other Than Options Grants, Total Compensation Expense Recognized Over Performance Period</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardOtherThanOptionsGrantsTotalCompensationExpenseRecognizedOverPerformancePeriod_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Total compensation expense recognized over the performance period, net of forfeitures</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsAndMethodologyAbstract" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsAndMethodologyAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsAndMethodologyAbstract" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsAndMethodologyAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsAndMethodologyAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Share-based Compensation Arrangement by Share-based Payment Award, Fair Value Assumptions and Methodology [Abstract]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsAndMethodologyAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Assumptions used to estimate the fair values of the awards granted:</label>
    <loc xlink:type="locator" xlink:href="bld-20230331.xsd#bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRemainingMeasurementPeriod" xlink:label="bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRemainingMeasurementPeriod" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRemainingMeasurementPeriod" xlink:to="bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRemainingMeasurementPeriod_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRemainingMeasurementPeriod_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">The remaining measurement period of share-based compensation awards, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRemainingMeasurementPeriod_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Share-based Compensation Arrangement by Share-based Payment Award, Fair Value Assumptions, Remaining Measurement Period</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRemainingMeasurementPeriod_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Measurement period (years)</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Share-based Compensation Arrangement by Share-based Payment Award, Fair Value Assumptions, Risk Free Interest Rate</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Risk free interest rate (as a percent)</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Share-based Compensation Arrangement by Share-based Payment Award, Fair Value Assumptions, Expected Dividend Rate</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Dividend yield (as a percent)</label>
    <loc xlink:type="locator" xlink:href="bld-20230331.xsd#bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsEstimatedFairValueOfAwardsGranted" xlink:label="bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsEstimatedFairValueOfAwardsGranted" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsEstimatedFairValueOfAwardsGranted" xlink:to="bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsEstimatedFairValueOfAwardsGranted_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsEstimatedFairValueOfAwardsGranted_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents the estimated fair value of the awards granted.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsEstimatedFairValueOfAwardsGranted_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Share Based Compensation Arrangement By Share Based Payment Award Fair Value Assumptions Estimated Fair Value Of Awards Granted</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsEstimatedFairValueOfAwardsGranted_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Estimated fair value of market-based RSAs at grant date (in dollars per share)</label>
    <loc xlink:type="locator" xlink:href="bld-20230331.xsd#bld_SriHoldingsMember" xlink:label="bld_SriHoldingsMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="bld_SriHoldingsMember" xlink:to="bld_SriHoldingsMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="bld_SriHoldingsMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents information pertaining to SRI Holdings, LLC.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="bld_SriHoldingsMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">SRI Holdings</label>
    <loc xlink:type="locator" xlink:href="bld-20230331.xsd#bld_BillingsInsulationServiceInc.Member" xlink:label="bld_BillingsInsulationServiceInc.Member" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="bld_BillingsInsulationServiceInc.Member" xlink:to="bld_BillingsInsulationServiceInc.Member_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="bld_BillingsInsulationServiceInc.Member_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Information pertaining to Billings Insulation Service, Inc.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="bld_BillingsInsulationServiceInc.Member_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Billings</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SeriesOfIndividuallyImmaterialBusinessAcquisitionsMember" xlink:label="us-gaap_SeriesOfIndividuallyImmaterialBusinessAcquisitionsMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SeriesOfIndividuallyImmaterialBusinessAcquisitionsMember" xlink:to="us-gaap_SeriesOfIndividuallyImmaterialBusinessAcquisitionsMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SeriesOfIndividuallyImmaterialBusinessAcquisitionsMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">All others</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessCombinationAcquisitionRelatedCosts" xlink:label="us-gaap_BusinessCombinationAcquisitionRelatedCosts" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessCombinationAcquisitionRelatedCosts" xlink:to="us-gaap_BusinessCombinationAcquisitionRelatedCosts_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_BusinessCombinationAcquisitionRelatedCosts_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Business Combination, Acquisition Related Costs</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_BusinessCombinationAcquisitionRelatedCosts_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Acquisition related costs</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessCombinationConsiderationTransferred1" xlink:label="us-gaap_BusinessCombinationConsiderationTransferred1" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessCombinationConsiderationTransferred1" xlink:to="us-gaap_BusinessCombinationConsiderationTransferred1_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_BusinessCombinationConsiderationTransferred1_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Business Combination, Consideration Transferred</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_BusinessCombinationConsiderationTransferred1_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Purchase price</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_BusinessCombinationConsiderationTransferred1_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Total consideration transferred</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessCombinationDescriptionAbstract" xlink:label="us-gaap_BusinessCombinationDescriptionAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessCombinationDescriptionAbstract" xlink:to="us-gaap_BusinessCombinationDescriptionAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_BusinessCombinationDescriptionAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Business Combination, Description [Abstract]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_BusinessCombinationDescriptionAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Summary of businesses acquired:</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PaymentsToAcquireBusinessesGross" xlink:label="us-gaap_PaymentsToAcquireBusinessesGross" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PaymentsToAcquireBusinessesGross" xlink:to="us-gaap_PaymentsToAcquireBusinessesGross_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PaymentsToAcquireBusinessesGross_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Payments to Acquire Businesses, Gross</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_PaymentsToAcquireBusinessesGross_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Cash</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_PaymentsToAcquireBusinessesGross_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Cash Paid</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GoodwillAcquiredDuringPeriod" xlink:label="us-gaap_GoodwillAcquiredDuringPeriod" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_GoodwillAcquiredDuringPeriod" xlink:to="us-gaap_GoodwillAcquiredDuringPeriod_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_GoodwillAcquiredDuringPeriod_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Goodwill, Acquired During Period</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_GoodwillAcquiredDuringPeriod_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Goodwill Acquired</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessAcquisitionPurchasePriceAllocationGoodwillExpectedTaxDeductibleAmount" xlink:label="us-gaap_BusinessAcquisitionPurchasePriceAllocationGoodwillExpectedTaxDeductibleAmount" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessAcquisitionPurchasePriceAllocationGoodwillExpectedTaxDeductibleAmount" xlink:to="us-gaap_BusinessAcquisitionPurchasePriceAllocationGoodwillExpectedTaxDeductibleAmount_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_BusinessAcquisitionPurchasePriceAllocationGoodwillExpectedTaxDeductibleAmount_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Business Acquisition, Goodwill, Expected Tax Deductible Amount</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_BusinessAcquisitionPurchasePriceAllocationGoodwillExpectedTaxDeductibleAmount_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Goodwill expected to be deducted for income tax purposes</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNetAbstract" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNetAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNetAbstract" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNetAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNetAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Business Combination, Recognized Identifiable Assets Acquired, Goodwill, and Liabilities Assumed, Net [Abstract]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNetAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Estimated fair values</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Business Combination, Recognized Identifiable Assets Acquired, Goodwill, and Liabilities Assumed, Net</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Net assets acquired</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessCombinationConsiderationTransferredAbstract" xlink:label="us-gaap_BusinessCombinationConsiderationTransferredAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessCombinationConsiderationTransferredAbstract" xlink:to="us-gaap_BusinessCombinationConsiderationTransferredAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_BusinessCombinationConsiderationTransferredAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Business Combination, Consideration Transferred [Abstract]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_BusinessCombinationConsiderationTransferredAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Fair value of consideration</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EmployeeRelatedLiabilitiesCurrent" xlink:label="us-gaap_EmployeeRelatedLiabilitiesCurrent" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EmployeeRelatedLiabilitiesCurrent" xlink:to="us-gaap_EmployeeRelatedLiabilitiesCurrent_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EmployeeRelatedLiabilitiesCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Employee-related Liabilities, Current</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_EmployeeRelatedLiabilitiesCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Salaries, wages, and bonus/commissions</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccruedIncomeTaxesCurrent" xlink:label="us-gaap_AccruedIncomeTaxesCurrent" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccruedIncomeTaxesCurrent" xlink:to="us-gaap_AccruedIncomeTaxesCurrent_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AccruedIncomeTaxesCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Accrued Income Taxes, Current</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_AccruedIncomeTaxesCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Income taxes payable</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccruedInsuranceCurrent" xlink:label="us-gaap_AccruedInsuranceCurrent" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccruedInsuranceCurrent" xlink:to="us-gaap_AccruedInsuranceCurrent_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AccruedInsuranceCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Accrued Insurance, Current</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_AccruedInsuranceCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Insurance liabilities</label>
    <loc xlink:type="locator" xlink:href="bld-20230331.xsd#bld_AccruedCustomerRebatesCurrent" xlink:label="bld_AccruedCustomerRebatesCurrent" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="bld_AccruedCustomerRebatesCurrent" xlink:to="bld_AccruedCustomerRebatesCurrent_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="bld_AccruedCustomerRebatesCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Total of the carrying values as of the balance sheet date of obligations incurred through that date and payable for obligations for customer rebates. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="bld_AccruedCustomerRebatesCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Accrued Customer Rebates, Current</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="bld_AccruedCustomerRebatesCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Customer rebates</label>
    <loc xlink:type="locator" xlink:href="bld-20230331.xsd#bld_AccruedSalesAndPropertyTaxesCurrent" xlink:label="bld_AccruedSalesAndPropertyTaxesCurrent" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="bld_AccruedSalesAndPropertyTaxesCurrent" xlink:to="bld_AccruedSalesAndPropertyTaxesCurrent_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="bld_AccruedSalesAndPropertyTaxesCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Total of the carrying values as of the balance sheet date of obligations incurred through that date and payable for obligations for sales and property taxes. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="bld_AccruedSalesAndPropertyTaxesCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Accrued Sales and Property Taxes, Current</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="bld_AccruedSalesAndPropertyTaxesCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Sales and property taxes</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InterestPayableCurrent" xlink:label="us-gaap_InterestPayableCurrent" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InterestPayableCurrent" xlink:to="us-gaap_InterestPayableCurrent_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_InterestPayableCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Interest Payable, Current</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_InterestPayableCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Interest payable on long-term debt</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherAccruedLiabilitiesCurrent" xlink:label="us-gaap_OtherAccruedLiabilitiesCurrent" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherAccruedLiabilitiesCurrent" xlink:to="us-gaap_OtherAccruedLiabilitiesCurrent_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OtherAccruedLiabilitiesCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Other Accrued Liabilities, Current</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_OtherAccruedLiabilitiesCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Other</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherCommitmentsTable" xlink:label="us-gaap_OtherCommitmentsTable" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherCommitmentsTable" xlink:to="us-gaap_OtherCommitmentsTable_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OtherCommitmentsTable_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Other Commitments [Table]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherCommitmentsLineItems" xlink:label="us-gaap_OtherCommitmentsLineItems" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherCommitmentsLineItems" xlink:to="us-gaap_OtherCommitmentsLineItems_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OtherCommitmentsLineItems_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Other Commitments [Line Items]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_OtherCommitmentsLineItems_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Other Commitments and Contingencies</label>
    <loc xlink:type="locator" xlink:href="bld-20230331.xsd#bld_OutstandingBondsAbstract" xlink:label="bld_OutstandingBondsAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="bld_OutstandingBondsAbstract" xlink:to="bld_OutstandingBondsAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="bld_OutstandingBondsAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">No definition available.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="bld_OutstandingBondsAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Outstanding Bonds [Abstract]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="bld_OutstandingBondsAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Outstanding Bonds</label>
    <loc xlink:type="locator" xlink:href="bld-20230331.xsd#bld_PerformanceBondsOutstanding" xlink:label="bld_PerformanceBondsOutstanding" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="bld_PerformanceBondsOutstanding" xlink:to="bld_PerformanceBondsOutstanding_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="bld_PerformanceBondsOutstanding_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents the amount of performance bonds outstanding.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="bld_PerformanceBondsOutstanding_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Performance Bonds Outstanding</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="bld_PerformanceBondsOutstanding_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Performance bonds</label>
    <loc xlink:type="locator" xlink:href="bld-20230331.xsd#bld_LicenseAndInsuranceRelatedAndOtherBondsOutstanding" xlink:label="bld_LicenseAndInsuranceRelatedAndOtherBondsOutstanding" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="bld_LicenseAndInsuranceRelatedAndOtherBondsOutstanding" xlink:to="bld_LicenseAndInsuranceRelatedAndOtherBondsOutstanding_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="bld_LicenseAndInsuranceRelatedAndOtherBondsOutstanding_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents the amount of other type of bonds outstanding, principally license and insurance related.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="bld_LicenseAndInsuranceRelatedAndOtherBondsOutstanding_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">License and Insurance Related And Other Bonds Outstanding</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="bld_LicenseAndInsuranceRelatedAndOtherBondsOutstanding_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Licensing, insurance, and other bonds</label>
    <loc xlink:type="locator" xlink:href="bld-20230331.xsd#bld_BondsOutstanding" xlink:label="bld_BondsOutstanding" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="bld_BondsOutstanding" xlink:to="bld_BondsOutstanding_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="bld_BondsOutstanding_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">The amount of bonds outstanding at the end of the reporting period.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="bld_BondsOutstanding_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Bonds Outstanding</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="bld_BondsOutstanding_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Total bonds</label>
  </link:labelLink>
</link:linkbase>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.PRE
<SEQUENCE>10
<FILENAME>bld-20230331_pre.xml
<DESCRIPTION>EX-101.PRE
<TEXT>
<XBRL>
<?xml version="1.0" encoding="us-ascii"?>
<!--XBRL document created with Toppan Merrill Bridge  10.2.5.9 -->
<!--Based on XBRL 2.1-->
<!--Created on: 5/4/2023 5:12:08 PM-->
<!--Modified on: 5/4/2023 5:12:08 PM-->
<link:linkbase xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.xbrl.org/2003/linkbase http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd" xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:xbrli="http://www.xbrl.org/2003/instance" xmlns:xlink="http://www.w3.org/1999/xlink">
  <roleRef xlink:type="simple" xlink:href="bld-20230331.xsd#DocumentDocumentAndEntityInformation" roleURI="http://www.topbuild.com/role/DocumentDocumentAndEntityInformation" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="bld-20230331.xsd#StatementCondensedConsolidatedBalanceSheets" roleURI="http://www.topbuild.com/role/StatementCondensedConsolidatedBalanceSheets" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="bld-20230331.xsd#StatementCondensedConsolidatedBalanceSheetsParenthetical" roleURI="http://www.topbuild.com/role/StatementCondensedConsolidatedBalanceSheetsParenthetical" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="bld-20230331.xsd#StatementCondensedConsolidatedStatementsOfOperations" roleURI="http://www.topbuild.com/role/StatementCondensedConsolidatedStatementsOfOperations" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="bld-20230331.xsd#StatementCondensedConsolidatedStatementsOfComprehensiveIncome" roleURI="http://www.topbuild.com/role/StatementCondensedConsolidatedStatementsOfComprehensiveIncome" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="bld-20230331.xsd#StatementCondensedConsolidatedStatementsOfCashFlows" roleURI="http://www.topbuild.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="bld-20230331.xsd#StatementCondensedConsolidatedStatementsOfChangesInEquity" roleURI="http://www.topbuild.com/role/StatementCondensedConsolidatedStatementsOfChangesInEquity" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="bld-20230331.xsd#StatementCondensedConsolidatedStatementsOfChangesInEquityParenthetical" roleURI="http://www.topbuild.com/role/StatementCondensedConsolidatedStatementsOfChangesInEquityParenthetical" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="bld-20230331.xsd#DisclosureBasisOfPresentation" roleURI="http://www.topbuild.com/role/DisclosureBasisOfPresentation" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="bld-20230331.xsd#DisclosureAccountingPolicies" roleURI="http://www.topbuild.com/role/DisclosureAccountingPolicies" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="bld-20230331.xsd#DisclosureRevenueRecognition" roleURI="http://www.topbuild.com/role/DisclosureRevenueRecognition" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="bld-20230331.xsd#DisclosureGoodwillAndOtherIntangibles" roleURI="http://www.topbuild.com/role/DisclosureGoodwillAndOtherIntangibles" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="bld-20230331.xsd#DisclosureLongTermDebt" roleURI="http://www.topbuild.com/role/DisclosureLongTermDebt" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="bld-20230331.xsd#DisclosureFairValueMeasurements" roleURI="http://www.topbuild.com/role/DisclosureFairValueMeasurements" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="bld-20230331.xsd#DisclosureSegmentInformation" roleURI="http://www.topbuild.com/role/DisclosureSegmentInformation" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="bld-20230331.xsd#DisclosureIncomeTaxes" roleURI="http://www.topbuild.com/role/DisclosureIncomeTaxes" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="bld-20230331.xsd#DisclosureNetIncomePerShare" roleURI="http://www.topbuild.com/role/DisclosureNetIncomePerShare" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="bld-20230331.xsd#DisclosureShareBasedCompensation" roleURI="http://www.topbuild.com/role/DisclosureShareBasedCompensation" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="bld-20230331.xsd#DisclosureBusinessCombinations" roleURI="http://www.topbuild.com/role/DisclosureBusinessCombinations" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="bld-20230331.xsd#DisclosureAccruedLiabilities" roleURI="http://www.topbuild.com/role/DisclosureAccruedLiabilities" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="bld-20230331.xsd#DisclosureOtherCommitmentsAndContingencies" roleURI="http://www.topbuild.com/role/DisclosureOtherCommitmentsAndContingencies" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="bld-20230331.xsd#DisclosureAccountingPoliciesPolicies" roleURI="http://www.topbuild.com/role/DisclosureAccountingPoliciesPolicies" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="bld-20230331.xsd#DisclosureRevenueRecognitionTables" roleURI="http://www.topbuild.com/role/DisclosureRevenueRecognitionTables" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="bld-20230331.xsd#DisclosureGoodwillAndOtherIntangiblesTables" roleURI="http://www.topbuild.com/role/DisclosureGoodwillAndOtherIntangiblesTables" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="bld-20230331.xsd#DisclosureLongTermDebtTables" roleURI="http://www.topbuild.com/role/DisclosureLongTermDebtTables" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="bld-20230331.xsd#DisclosureFairValueMeasurementsTables" roleURI="http://www.topbuild.com/role/DisclosureFairValueMeasurementsTables" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="bld-20230331.xsd#DisclosureSegmentInformationTables" roleURI="http://www.topbuild.com/role/DisclosureSegmentInformationTables" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="bld-20230331.xsd#DisclosureNetIncomePerShareTables" roleURI="http://www.topbuild.com/role/DisclosureNetIncomePerShareTables" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="bld-20230331.xsd#DisclosureShareBasedCompensationTables" roleURI="http://www.topbuild.com/role/DisclosureShareBasedCompensationTables" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="bld-20230331.xsd#DisclosureBusinessCombinationsTables" roleURI="http://www.topbuild.com/role/DisclosureBusinessCombinationsTables" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="bld-20230331.xsd#DisclosureAccruedLiabilitiesTables" roleURI="http://www.topbuild.com/role/DisclosureAccruedLiabilitiesTables" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="bld-20230331.xsd#DisclosureOtherCommitmentsAndContingenciesTables" roleURI="http://www.topbuild.com/role/DisclosureOtherCommitmentsAndContingenciesTables" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="bld-20230331.xsd#DisclosureBasisOfPresentationDetails" roleURI="http://www.topbuild.com/role/DisclosureBasisOfPresentationDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="bld-20230331.xsd#DisclosureRevenueRecognitionDisaggregationDetails" roleURI="http://www.topbuild.com/role/DisclosureRevenueRecognitionDisaggregationDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="bld-20230331.xsd#DisclosureRevenueRecognitionOtherDetails" roleURI="http://www.topbuild.com/role/DisclosureRevenueRecognitionOtherDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="bld-20230331.xsd#DisclosureGoodwillAndOtherIntangiblesGoodwillDetails" roleURI="http://www.topbuild.com/role/DisclosureGoodwillAndOtherIntangiblesGoodwillDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="bld-20230331.xsd#DisclosureGoodwillAndOtherIntangiblesOtherIntangibleAssetsDetails" roleURI="http://www.topbuild.com/role/DisclosureGoodwillAndOtherIntangiblesOtherIntangibleAssetsDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="bld-20230331.xsd#DisclosureLongTermDebtReconciliationDetails" roleURI="http://www.topbuild.com/role/DisclosureLongTermDebtReconciliationDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="bld-20230331.xsd#DisclosureLongTermDebtScheduleOfDebtMaturityDetails" roleURI="http://www.topbuild.com/role/DisclosureLongTermDebtScheduleOfDebtMaturityDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="bld-20230331.xsd#DisclosureLongTermDebtKeyTermsOfCreditAgreementDetails" roleURI="http://www.topbuild.com/role/DisclosureLongTermDebtKeyTermsOfCreditAgreementDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="bld-20230331.xsd#DisclosureLongTermDebtRevolvingFacilityDetails" roleURI="http://www.topbuild.com/role/DisclosureLongTermDebtRevolvingFacilityDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="bld-20230331.xsd#DisclosureLongTermDebtSeniorNotesAndEquipmentNotesDetails" roleURI="http://www.topbuild.com/role/DisclosureLongTermDebtSeniorNotesAndEquipmentNotesDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="bld-20230331.xsd#DisclosureLongTermDebtOtherDetails" roleURI="http://www.topbuild.com/role/DisclosureLongTermDebtOtherDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="bld-20230331.xsd#DisclosureFairValueMeasurementsDetails" roleURI="http://www.topbuild.com/role/DisclosureFairValueMeasurementsDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="bld-20230331.xsd#DisclosureSegmentInformationDetails" roleURI="http://www.topbuild.com/role/DisclosureSegmentInformationDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="bld-20230331.xsd#DisclosureIncomeTaxesDetails" roleURI="http://www.topbuild.com/role/DisclosureIncomeTaxesDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="bld-20230331.xsd#DisclosureNetIncomePerShareCalculationDetails" roleURI="http://www.topbuild.com/role/DisclosureNetIncomePerShareCalculationDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="bld-20230331.xsd#DisclosureNetIncomePerShareAntiDilutiveCommonStockEquivalentsDetails" roleURI="http://www.topbuild.com/role/DisclosureNetIncomePerShareAntiDilutiveCommonStockEquivalentsDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="bld-20230331.xsd#DisclosureShareBasedCompensationExpenseDetails" roleURI="http://www.topbuild.com/role/DisclosureShareBasedCompensationExpenseDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="bld-20230331.xsd#DisclosureShareBasedCompensationActivityDetails" roleURI="http://www.topbuild.com/role/DisclosureShareBasedCompensationActivityDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="bld-20230331.xsd#DisclosureBusinessCombinationsSummaryDetails" roleURI="http://www.topbuild.com/role/DisclosureBusinessCombinationsSummaryDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="bld-20230331.xsd#DisclosureBusinessCombinationsFairValueOfConsiderationDetails" roleURI="http://www.topbuild.com/role/DisclosureBusinessCombinationsFairValueOfConsiderationDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="bld-20230331.xsd#DisclosureAccruedLiabilitiesDetails" roleURI="http://www.topbuild.com/role/DisclosureAccruedLiabilitiesDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="bld-20230331.xsd#DisclosureOtherCommitmentsAndContingenciesDetails" roleURI="http://www.topbuild.com/role/DisclosureOtherCommitmentsAndContingenciesDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <presentationLink xlink:role="http://www.topbuild.com/role/DocumentDocumentAndEntityInformation" xlink:type="extended" xlink:title="00090 - Document - Document and Entity Information" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_CoverAbstract" xlink:label="dei_CoverAbstract" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityRegistrantName" xlink:label="dei_EntityRegistrantName_638188171261013219" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_EntityRegistrantName_638188171261013219" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityCentralIndexKey" xlink:label="dei_EntityCentralIndexKey_638188171261013219" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_EntityCentralIndexKey_638188171261013219" order="2" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_DocumentType" xlink:label="dei_DocumentType_638188171261013219" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_DocumentType_638188171261013219" order="3" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_DocumentQuarterlyReport" xlink:label="dei_DocumentQuarterlyReport_638188171261013219" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_DocumentQuarterlyReport_638188171261013219" order="4" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_DocumentPeriodEndDate" xlink:label="dei_DocumentPeriodEndDate_638188171261013219" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_DocumentPeriodEndDate_638188171261013219" order="5" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_DocumentTransitionReport" xlink:label="dei_DocumentTransitionReport_638188171261013219" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_DocumentTransitionReport_638188171261013219" order="6" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityFileNumber" xlink:label="dei_EntityFileNumber_638188171261013219" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_EntityFileNumber_638188171261013219" order="7" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityIncorporationStateCountryCode" xlink:label="dei_EntityIncorporationStateCountryCode_638188171261013219" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_EntityIncorporationStateCountryCode_638188171261013219" order="8" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityTaxIdentificationNumber" xlink:label="dei_EntityTaxIdentificationNumber_638188171261013219" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_EntityTaxIdentificationNumber_638188171261013219" order="9" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityAddressAddressLine1" xlink:label="dei_EntityAddressAddressLine1_638188171261023219" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_EntityAddressAddressLine1_638188171261023219" order="10" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityAddressCityOrTown" xlink:label="dei_EntityAddressCityOrTown_638188171261023219" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_EntityAddressCityOrTown_638188171261023219" order="11" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityAddressStateOrProvince" xlink:label="dei_EntityAddressStateOrProvince_638188171261023219" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_EntityAddressStateOrProvince_638188171261023219" order="12" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityAddressPostalZipCode" xlink:label="dei_EntityAddressPostalZipCode_638188171261023219" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_EntityAddressPostalZipCode_638188171261023219" order="13" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_CityAreaCode" xlink:label="dei_CityAreaCode_638188171261023219" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_CityAreaCode_638188171261023219" order="14" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LocalPhoneNumber" xlink:label="dei_LocalPhoneNumber_638188171261023219" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_LocalPhoneNumber_638188171261023219" order="15" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_Security12bTitle" xlink:label="dei_Security12bTitle_638188171261023219" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_Security12bTitle_638188171261023219" order="16" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_TradingSymbol" xlink:label="dei_TradingSymbol_638188171261023219" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_TradingSymbol_638188171261023219" order="17" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_SecurityExchangeName" xlink:label="dei_SecurityExchangeName_638188171261023219" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_SecurityExchangeName_638188171261023219" order="18" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_AmendmentFlag" xlink:label="dei_AmendmentFlag_638188171261023219" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_AmendmentFlag_638188171261023219" order="19" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_CurrentFiscalYearEndDate" xlink:label="dei_CurrentFiscalYearEndDate_638188171261023219" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_CurrentFiscalYearEndDate_638188171261023219" order="20" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityCurrentReportingStatus" xlink:label="dei_EntityCurrentReportingStatus_638188171261033222" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_EntityCurrentReportingStatus_638188171261033222" order="21" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityInteractiveDataCurrent" xlink:label="dei_EntityInteractiveDataCurrent_638188171261033222" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_EntityInteractiveDataCurrent_638188171261033222" order="22" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityFilerCategory" xlink:label="dei_EntityFilerCategory_638188171261033222" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_EntityFilerCategory_638188171261033222" order="23" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityCommonStockSharesOutstanding" xlink:label="dei_EntityCommonStockSharesOutstanding_638188171261033222" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_EntityCommonStockSharesOutstanding_638188171261033222" order="24" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_DocumentFiscalYearFocus" xlink:label="dei_DocumentFiscalYearFocus_638188171261033222" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_DocumentFiscalYearFocus_638188171261033222" order="25" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_DocumentFiscalPeriodFocus" xlink:label="dei_DocumentFiscalPeriodFocus_638188171261033222" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_DocumentFiscalPeriodFocus_638188171261033222" order="26" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntitySmallBusiness" xlink:label="dei_EntitySmallBusiness_638188171261033222" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_EntitySmallBusiness_638188171261033222" order="27" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityEmergingGrowthCompany" xlink:label="dei_EntityEmergingGrowthCompany_638188171261033222" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_EntityEmergingGrowthCompany_638188171261033222" order="28" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityShellCompany" xlink:label="dei_EntityShellCompany_638188171261033222" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_EntityShellCompany_638188171261033222" order="29" use="optional" />
  </presentationLink>
  <presentationLink xlink:role="http://www.topbuild.com/role/StatementCondensedConsolidatedBalanceSheets" xlink:type="extended" xlink:title="00100 - Statement - CONDENSED CONSOLIDATED BALANCE SHEETS" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementOfFinancialPositionAbstract" xlink:label="StatementOfFinancialPositionAbstract" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AssetsAbstract" xlink:label="us-gaap_AssetsAbstract_638188171261043219" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="StatementOfFinancialPositionAbstract" xlink:to="us-gaap_AssetsAbstract_638188171261043219" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AssetsCurrentAbstract" xlink:label="us-gaap_AssetsCurrentAbstract_638188171261043219" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsAbstract_638188171261043219" xlink:to="us-gaap_AssetsCurrentAbstract_638188171261043219" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:label="us-gaap_CashAndCashEquivalentsAtCarryingValue_638188171261043219" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsCurrentAbstract_638188171261043219" xlink:to="us-gaap_CashAndCashEquivalentsAtCarryingValue_638188171261043219" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccountsReceivableNetCurrent" xlink:label="us-gaap_AccountsReceivableNetCurrent_638188171261043219" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsCurrentAbstract_638188171261043219" xlink:to="us-gaap_AccountsReceivableNetCurrent_638188171261043219" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="8" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InventoryNet" xlink:label="us-gaap_InventoryNet_638188171261043219" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsCurrentAbstract_638188171261043219" xlink:to="us-gaap_InventoryNet_638188171261043219" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PrepaidExpenseAndOtherAssetsCurrent" xlink:label="us-gaap_PrepaidExpenseAndOtherAssetsCurrent_638188171261043219" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsCurrentAbstract_638188171261043219" xlink:to="us-gaap_PrepaidExpenseAndOtherAssetsCurrent_638188171261043219" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AssetsCurrent" xlink:label="us-gaap_AssetsCurrent_638188171261043219" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsCurrentAbstract_638188171261043219" xlink:to="us-gaap_AssetsCurrent_638188171261043219" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLeaseRightOfUseAsset" xlink:label="us-gaap_OperatingLeaseRightOfUseAsset_638188171261043219" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsAbstract_638188171261043219" xlink:to="us-gaap_OperatingLeaseRightOfUseAsset_638188171261043219" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization" xlink:label="us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization_638188171261043219" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsAbstract_638188171261043219" xlink:to="us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization_638188171261043219" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_Goodwill" xlink:label="us-gaap_Goodwill_638188171261053223" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsAbstract_638188171261043219" xlink:to="us-gaap_Goodwill_638188171261053223" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsNet" xlink:label="us-gaap_FiniteLivedIntangibleAssetsNet_638188171261053223" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsAbstract_638188171261043219" xlink:to="us-gaap_FiniteLivedIntangibleAssetsNet_638188171261053223" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherAssetsNoncurrent" xlink:label="us-gaap_OtherAssetsNoncurrent_638188171261053223" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsAbstract_638188171261043219" xlink:to="us-gaap_OtherAssetsNoncurrent_638188171261053223" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_Assets" xlink:label="us-gaap_Assets_638188171261053223" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsAbstract_638188171261043219" xlink:to="us-gaap_Assets_638188171261053223" order="7" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LiabilitiesAndStockholdersEquityAbstract" xlink:label="us-gaap_LiabilitiesAndStockholdersEquityAbstract_638188171261053223" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="StatementOfFinancialPositionAbstract" xlink:to="us-gaap_LiabilitiesAndStockholdersEquityAbstract_638188171261053223" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LiabilitiesCurrentAbstract" xlink:label="us-gaap_LiabilitiesCurrentAbstract_638188171261053223" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesAndStockholdersEquityAbstract_638188171261053223" xlink:to="us-gaap_LiabilitiesCurrentAbstract_638188171261053223" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccountsPayableCurrent" xlink:label="us-gaap_AccountsPayableCurrent_638188171261053223" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesCurrentAbstract_638188171261053223" xlink:to="us-gaap_AccountsPayableCurrent_638188171261053223" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongTermDebtCurrent" xlink:label="us-gaap_LongTermDebtCurrent_638188171261053223" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesCurrentAbstract_638188171261053223" xlink:to="us-gaap_LongTermDebtCurrent_638188171261053223" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="bld-20230331.xsd#bld_AccruedLiabilitiesAndEmployeeRelatedLiabilitiesCurrent" xlink:label="bld_AccruedLiabilitiesAndEmployeeRelatedLiabilitiesCurrent_638188171261053223" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesCurrentAbstract_638188171261053223" xlink:to="bld_AccruedLiabilitiesAndEmployeeRelatedLiabilitiesCurrent_638188171261053223" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLeaseLiabilityCurrent" xlink:label="us-gaap_OperatingLeaseLiabilityCurrent_638188171261053223" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesCurrentAbstract_638188171261053223" xlink:to="us-gaap_OperatingLeaseLiabilityCurrent_638188171261053223" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FinanceLeaseLiabilityCurrent" xlink:label="us-gaap_FinanceLeaseLiabilityCurrent_638188171261053223" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesCurrentAbstract_638188171261053223" xlink:to="us-gaap_FinanceLeaseLiabilityCurrent_638188171261053223" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LiabilitiesCurrent" xlink:label="us-gaap_LiabilitiesCurrent_638188171261063215" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesCurrentAbstract_638188171261053223" xlink:to="us-gaap_LiabilitiesCurrent_638188171261063215" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongTermDebtNoncurrent" xlink:label="us-gaap_LongTermDebtNoncurrent_638188171261063215" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesAndStockholdersEquityAbstract_638188171261053223" xlink:to="us-gaap_LongTermDebtNoncurrent_638188171261063215" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredIncomeTaxLiabilitiesNet" xlink:label="us-gaap_DeferredIncomeTaxLiabilitiesNet_638188171261063215" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesAndStockholdersEquityAbstract_638188171261053223" xlink:to="us-gaap_DeferredIncomeTaxLiabilitiesNet_638188171261063215" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccruedInsuranceNoncurrent" xlink:label="us-gaap_AccruedInsuranceNoncurrent_638188171261063215" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesAndStockholdersEquityAbstract_638188171261053223" xlink:to="us-gaap_AccruedInsuranceNoncurrent_638188171261063215" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLeaseLiabilityNoncurrent" xlink:label="us-gaap_OperatingLeaseLiabilityNoncurrent_638188171261063215" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesAndStockholdersEquityAbstract_638188171261053223" xlink:to="us-gaap_OperatingLeaseLiabilityNoncurrent_638188171261063215" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FinanceLeaseLiabilityNoncurrent" xlink:label="us-gaap_FinanceLeaseLiabilityNoncurrent_638188171261063215" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesAndStockholdersEquityAbstract_638188171261053223" xlink:to="us-gaap_FinanceLeaseLiabilityNoncurrent_638188171261063215" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherLiabilitiesNoncurrent" xlink:label="us-gaap_OtherLiabilitiesNoncurrent_638188171261063215" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesAndStockholdersEquityAbstract_638188171261053223" xlink:to="us-gaap_OtherLiabilitiesNoncurrent_638188171261063215" order="7" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_Liabilities" xlink:label="us-gaap_Liabilities_638188171261063215" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesAndStockholdersEquityAbstract_638188171261053223" xlink:to="us-gaap_Liabilities_638188171261063215" order="8" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommitmentsAndContingencies" xlink:label="us-gaap_CommitmentsAndContingencies_638188171261073221" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesAndStockholdersEquityAbstract_638188171261053223" xlink:to="us-gaap_CommitmentsAndContingencies_638188171261073221" order="9" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockholdersEquityAbstract" xlink:label="us-gaap_StockholdersEquityAbstract_638188171261073221" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesAndStockholdersEquityAbstract_638188171261053223" xlink:to="us-gaap_StockholdersEquityAbstract_638188171261073221" order="10" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PreferredStockValue" xlink:label="us-gaap_PreferredStockValue_638188171261073221" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StockholdersEquityAbstract_638188171261073221" xlink:to="us-gaap_PreferredStockValue_638188171261073221" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommonStockValue" xlink:label="us-gaap_CommonStockValue_638188171261073221" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StockholdersEquityAbstract_638188171261073221" xlink:to="us-gaap_CommonStockValue_638188171261073221" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="6" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TreasuryStockCommonValue" xlink:label="us-gaap_TreasuryStockCommonValue_638188171261073221" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StockholdersEquityAbstract_638188171261073221" xlink:to="us-gaap_TreasuryStockCommonValue_638188171261073221" order="3" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" priority="6" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AdditionalPaidInCapitalCommonStock" xlink:label="us-gaap_AdditionalPaidInCapitalCommonStock_638188171261073221" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StockholdersEquityAbstract_638188171261073221" xlink:to="us-gaap_AdditionalPaidInCapitalCommonStock_638188171261073221" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RetainedEarningsAccumulatedDeficit" xlink:label="us-gaap_RetainedEarningsAccumulatedDeficit_638188171261073221" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StockholdersEquityAbstract_638188171261073221" xlink:to="us-gaap_RetainedEarningsAccumulatedDeficit_638188171261073221" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax" xlink:label="us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax_638188171261073221" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StockholdersEquityAbstract_638188171261073221" xlink:to="us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax_638188171261073221" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockholdersEquity" xlink:label="us-gaap_StockholdersEquity_638188171261083217" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StockholdersEquityAbstract_638188171261073221" xlink:to="us-gaap_StockholdersEquity_638188171261083217" order="7" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LiabilitiesAndStockholdersEquity" xlink:label="us-gaap_LiabilitiesAndStockholdersEquity_638188171261083217" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StockholdersEquityAbstract_638188171261073221" xlink:to="us-gaap_LiabilitiesAndStockholdersEquity_638188171261083217" order="8" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" priority="4" />
  </presentationLink>
  <presentationLink xlink:role="http://www.topbuild.com/role/StatementCondensedConsolidatedBalanceSheetsParenthetical" xlink:type="extended" xlink:title="00105 - Statement - CONDENSED CONSOLIDATED BALANCE SHEETS (Parenthetical)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementOfFinancialPositionAbstract" xlink:label="StatementOfFinancialPositionAbstract" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent" xlink:label="us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent_638188171261083217" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="StatementOfFinancialPositionAbstract" xlink:to="us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent_638188171261083217" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PreferredStockParOrStatedValuePerShare" xlink:label="us-gaap_PreferredStockParOrStatedValuePerShare_638188171261083217" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="StatementOfFinancialPositionAbstract" xlink:to="us-gaap_PreferredStockParOrStatedValuePerShare_638188171261083217" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PreferredStockSharesAuthorized" xlink:label="us-gaap_PreferredStockSharesAuthorized_638188171261083217" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="StatementOfFinancialPositionAbstract" xlink:to="us-gaap_PreferredStockSharesAuthorized_638188171261083217" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PreferredStockSharesIssued" xlink:label="us-gaap_PreferredStockSharesIssued_638188171261083217" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="StatementOfFinancialPositionAbstract" xlink:to="us-gaap_PreferredStockSharesIssued_638188171261083217" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PreferredStockSharesOutstanding" xlink:label="us-gaap_PreferredStockSharesOutstanding_638188171261083217" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="StatementOfFinancialPositionAbstract" xlink:to="us-gaap_PreferredStockSharesOutstanding_638188171261083217" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommonStockParOrStatedValuePerShare" xlink:label="us-gaap_CommonStockParOrStatedValuePerShare_638188171261083217" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="StatementOfFinancialPositionAbstract" xlink:to="us-gaap_CommonStockParOrStatedValuePerShare_638188171261083217" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommonStockSharesAuthorized" xlink:label="us-gaap_CommonStockSharesAuthorized_638188171261093218" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="StatementOfFinancialPositionAbstract" xlink:to="us-gaap_CommonStockSharesAuthorized_638188171261093218" order="7" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommonStockSharesIssued" xlink:label="us-gaap_CommonStockSharesIssued_638188171261093218" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="StatementOfFinancialPositionAbstract" xlink:to="us-gaap_CommonStockSharesIssued_638188171261093218" order="8" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommonStockSharesOutstanding" xlink:label="us-gaap_CommonStockSharesOutstanding_638188171261093218" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="StatementOfFinancialPositionAbstract" xlink:to="us-gaap_CommonStockSharesOutstanding_638188171261093218" order="9" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TreasuryStockCommonShares" xlink:label="us-gaap_TreasuryStockCommonShares_638188171261093218" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="StatementOfFinancialPositionAbstract" xlink:to="us-gaap_TreasuryStockCommonShares_638188171261093218" order="10" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </presentationLink>
  <presentationLink xlink:role="http://www.topbuild.com/role/StatementCondensedConsolidatedStatementsOfOperations" xlink:type="extended" xlink:title="00200 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF OPERATIONS" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeStatementAbstract" xlink:label="IncomeStatementAbstract" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" xlink:label="us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax_638188171261093218" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncomeStatementAbstract" xlink:to="us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax_638188171261093218" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CostOfGoodsAndServicesSold" xlink:label="us-gaap_CostOfGoodsAndServicesSold_638188171261093218" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncomeStatementAbstract" xlink:to="us-gaap_CostOfGoodsAndServicesSold_638188171261093218" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GrossProfit" xlink:label="us-gaap_GrossProfit_638188171261093218" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncomeStatementAbstract" xlink:to="us-gaap_GrossProfit_638188171261093218" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SellingGeneralAndAdministrativeExpense" xlink:label="us-gaap_SellingGeneralAndAdministrativeExpense_638188171261093218" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncomeStatementAbstract" xlink:to="us-gaap_SellingGeneralAndAdministrativeExpense_638188171261093218" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingIncomeLoss" xlink:label="us-gaap_OperatingIncomeLoss_638188171261093218" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncomeStatementAbstract" xlink:to="us-gaap_OperatingIncomeLoss_638188171261093218" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NonoperatingIncomeExpenseAbstract" xlink:label="us-gaap_NonoperatingIncomeExpenseAbstract_638188171261093218" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncomeStatementAbstract" xlink:to="us-gaap_NonoperatingIncomeExpenseAbstract_638188171261093218" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InterestExpense" xlink:label="us-gaap_InterestExpense_638188171261093218" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NonoperatingIncomeExpenseAbstract_638188171261093218" xlink:to="us-gaap_InterestExpense_638188171261093218" order="1" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" priority="6" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherNonoperatingIncomeExpense" xlink:label="us-gaap_OtherNonoperatingIncomeExpense_638188171261093218" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NonoperatingIncomeExpenseAbstract_638188171261093218" xlink:to="us-gaap_OtherNonoperatingIncomeExpense_638188171261093218" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NonoperatingIncomeExpense" xlink:label="us-gaap_NonoperatingIncomeExpense_638188171261103217" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NonoperatingIncomeExpenseAbstract_638188171261093218" xlink:to="us-gaap_NonoperatingIncomeExpense_638188171261103217" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_638188171261103217" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NonoperatingIncomeExpenseAbstract_638188171261093218" xlink:to="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_638188171261103217" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" priority="6" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeTaxExpenseBenefit" xlink:label="us-gaap_IncomeTaxExpenseBenefit_638188171261103217" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncomeStatementAbstract" xlink:to="us-gaap_IncomeTaxExpenseBenefit_638188171261103217" order="7" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetIncomeLoss" xlink:label="us-gaap_NetIncomeLoss_638188171261103217" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncomeStatementAbstract" xlink:to="us-gaap_NetIncomeLoss_638188171261103217" order="8" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EarningsPerShareAbstract" xlink:label="us-gaap_EarningsPerShareAbstract_638188171261103217" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncomeStatementAbstract" xlink:to="us-gaap_EarningsPerShareAbstract_638188171261103217" order="9" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EarningsPerShareBasic" xlink:label="us-gaap_EarningsPerShareBasic_638188171261103217" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EarningsPerShareAbstract_638188171261103217" xlink:to="us-gaap_EarningsPerShareBasic_638188171261103217" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="3" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EarningsPerShareDiluted" xlink:label="us-gaap_EarningsPerShareDiluted_638188171261103217" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EarningsPerShareAbstract_638188171261103217" xlink:to="us-gaap_EarningsPerShareDiluted_638188171261103217" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="3" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EarningsPerShareReconciliationAbstract" xlink:label="us-gaap_EarningsPerShareReconciliationAbstract_638188171261103217" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncomeStatementAbstract" xlink:to="us-gaap_EarningsPerShareReconciliationAbstract_638188171261103217" order="10" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:label="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_638188171261103217" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EarningsPerShareReconciliationAbstract_638188171261103217" xlink:to="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_638188171261103217" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:label="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_638188171261103217" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EarningsPerShareReconciliationAbstract_638188171261103217" xlink:to="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_638188171261103217" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
  </presentationLink>
  <presentationLink xlink:role="http://www.topbuild.com/role/StatementCondensedConsolidatedStatementsOfComprehensiveIncome" xlink:type="extended" xlink:title="00300 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF COMPREHENSIVE INCOME" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract" xlink:label="us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetIncomeLoss" xlink:label="us-gaap_NetIncomeLoss_638188171261113217" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract" xlink:to="us-gaap_NetIncomeLoss_638188171261113217" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract" xlink:label="us-gaap_OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract_638188171261113217" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract" xlink:to="us-gaap_OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract_638188171261113217" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax" xlink:label="us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax_638188171261113217" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract_638188171261113217" xlink:to="us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax_638188171261113217" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ComprehensiveIncomeNetOfTax" xlink:label="us-gaap_ComprehensiveIncomeNetOfTax_638188171261113217" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract" xlink:to="us-gaap_ComprehensiveIncomeNetOfTax_638188171261113217" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" priority="1" />
  </presentationLink>
  <presentationLink xlink:role="http://www.topbuild.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" xlink:type="extended" xlink:title="00400 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF CASH FLOWS" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementOfCashFlowsAbstract" xlink:label="StatementOfCashFlowsAbstract" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivitiesContinuingOperationsAbstract" xlink:label="us-gaap_NetCashProvidedByUsedInOperatingActivitiesContinuingOperationsAbstract_638188171261113217" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="StatementOfCashFlowsAbstract" xlink:to="us-gaap_NetCashProvidedByUsedInOperatingActivitiesContinuingOperationsAbstract_638188171261113217" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProfitLoss" xlink:label="us-gaap_ProfitLoss_638188171261113217" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivitiesContinuingOperationsAbstract_638188171261113217" xlink:to="us-gaap_ProfitLoss_638188171261113217" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:label="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_638188171261113217" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivitiesContinuingOperationsAbstract_638188171261113217" xlink:to="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_638188171261113217" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DepreciationDepletionAndAmortization" xlink:label="us-gaap_DepreciationDepletionAndAmortization_638188171261113217" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_638188171261113217" xlink:to="us-gaap_DepreciationDepletionAndAmortization_638188171261113217" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="3" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensation" xlink:label="us-gaap_ShareBasedCompensation_638188171261113217" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_638188171261113217" xlink:to="us-gaap_ShareBasedCompensation_638188171261113217" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GainLossOnSaleOfPropertyPlantEquipment" xlink:label="us-gaap_GainLossOnSaleOfPropertyPlantEquipment_638188171261113217" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_638188171261113217" xlink:to="us-gaap_GainLossOnSaleOfPropertyPlantEquipment_638188171261113217" order="3" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" priority="6" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AmortizationOfFinancingCosts" xlink:label="us-gaap_AmortizationOfFinancingCosts_638188171261113217" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_638188171261113217" xlink:to="us-gaap_AmortizationOfFinancingCosts_638188171261113217" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProvisionForDoubtfulAccounts" xlink:label="us-gaap_ProvisionForDoubtfulAccounts_638188171261123217" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_638188171261113217" xlink:to="us-gaap_ProvisionForDoubtfulAccounts_638188171261123217" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InventoryWriteDown" xlink:label="us-gaap_InventoryWriteDown_638188171261123217" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_638188171261113217" xlink:to="us-gaap_InventoryWriteDown_638188171261123217" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInDeferredIncomeTaxes" xlink:label="us-gaap_IncreaseDecreaseInDeferredIncomeTaxes_638188171261123217" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_638188171261113217" xlink:to="us-gaap_IncreaseDecreaseInDeferredIncomeTaxes_638188171261123217" order="7" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" priority="9" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:label="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_638188171261123217" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_638188171261113217" xlink:to="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_638188171261123217" order="8" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInAccountsReceivable" xlink:label="us-gaap_IncreaseDecreaseInAccountsReceivable_638188171261123217" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_638188171261123217" xlink:to="us-gaap_IncreaseDecreaseInAccountsReceivable_638188171261123217" order="1" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" priority="5" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInInventories" xlink:label="us-gaap_IncreaseDecreaseInInventories_638188171261123217" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_638188171261123217" xlink:to="us-gaap_IncreaseDecreaseInInventories_638188171261123217" order="2" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" priority="6" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" xlink:label="us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets_638188171261123217" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_638188171261123217" xlink:to="us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets_638188171261123217" order="3" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInAccountsPayable" xlink:label="us-gaap_IncreaseDecreaseInAccountsPayable_638188171261123217" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_638188171261123217" xlink:to="us-gaap_IncreaseDecreaseInAccountsPayable_638188171261123217" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInAccruedLiabilities" xlink:label="us-gaap_IncreaseDecreaseInAccruedLiabilities_638188171261123217" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_638188171261123217" xlink:to="us-gaap_IncreaseDecreaseInAccruedLiabilities_638188171261123217" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="8" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherOperatingActivitiesCashFlowStatement" xlink:label="us-gaap_OtherOperatingActivitiesCashFlowStatement_638188171261123217" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_638188171261113217" xlink:to="us-gaap_OtherOperatingActivitiesCashFlowStatement_638188171261123217" order="9" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:label="us-gaap_NetCashProvidedByUsedInOperatingActivities_638188171261123217" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivitiesContinuingOperationsAbstract_638188171261113217" xlink:to="us-gaap_NetCashProvidedByUsedInOperatingActivities_638188171261123217" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" priority="5" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivitiesContinuingOperationsAbstract" xlink:label="us-gaap_NetCashProvidedByUsedInInvestingActivitiesContinuingOperationsAbstract_638188171261133222" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="StatementOfCashFlowsAbstract" xlink:to="us-gaap_NetCashProvidedByUsedInInvestingActivitiesContinuingOperationsAbstract_638188171261133222" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" xlink:label="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment_638188171261133222" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivitiesContinuingOperationsAbstract_638188171261133222" xlink:to="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment_638188171261133222" order="1" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" priority="8" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired" xlink:label="us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired_638188171261133222" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivitiesContinuingOperationsAbstract_638188171261133222" xlink:to="us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired_638188171261133222" order="2" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel" priority="6" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment" xlink:label="us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment_638188171261133222" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivitiesContinuingOperationsAbstract_638188171261133222" xlink:to="us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment_638188171261133222" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:label="us-gaap_NetCashProvidedByUsedInInvestingActivities_638188171261133222" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivitiesContinuingOperationsAbstract_638188171261133222" xlink:to="us-gaap_NetCashProvidedByUsedInInvestingActivities_638188171261133222" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" priority="5" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivitiesContinuingOperationsAbstract" xlink:label="us-gaap_NetCashProvidedByUsedInFinancingActivitiesContinuingOperationsAbstract_638188171261133222" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="StatementOfCashFlowsAbstract" xlink:to="us-gaap_NetCashProvidedByUsedInFinancingActivitiesContinuingOperationsAbstract_638188171261133222" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RepaymentsOfLongTermDebt" xlink:label="us-gaap_RepaymentsOfLongTermDebt_638188171261133222" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesContinuingOperationsAbstract_638188171261133222" xlink:to="us-gaap_RepaymentsOfLongTermDebt_638188171261133222" order="1" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" priority="6" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation" xlink:label="us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation_638188171261133222" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesContinuingOperationsAbstract_638188171261133222" xlink:to="us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation_638188171261133222" order="2" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProceedsFromStockOptionsExercised" xlink:label="us-gaap_ProceedsFromStockOptionsExercised_638188171261133222" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesContinuingOperationsAbstract_638188171261133222" xlink:to="us-gaap_ProceedsFromStockOptionsExercised_638188171261133222" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PaymentsForRepurchaseOfCommonStock" xlink:label="us-gaap_PaymentsForRepurchaseOfCommonStock_638188171261143220" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesContinuingOperationsAbstract_638188171261133222" xlink:to="us-gaap_PaymentsForRepurchaseOfCommonStock_638188171261143220" order="4" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PaymentForContingentConsiderationLiabilityFinancingActivities" xlink:label="us-gaap_PaymentForContingentConsiderationLiabilityFinancingActivities_638188171261143220" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesContinuingOperationsAbstract_638188171261133222" xlink:to="us-gaap_PaymentForContingentConsiderationLiabilityFinancingActivities_638188171261143220" order="5" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:label="us-gaap_NetCashProvidedByUsedInFinancingActivities_638188171261143220" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesContinuingOperationsAbstract_638188171261133222" xlink:to="us-gaap_NetCashProvidedByUsedInFinancingActivities_638188171261143220" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" priority="6" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffectAbstract" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffectAbstract_638188171261143220" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="StatementOfCashFlowsAbstract" xlink:to="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffectAbstract_638188171261143220" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:label="us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_638188171261143220" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffectAbstract_638188171261143220" xlink:to="us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_638188171261143220" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect_638188171261143220" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffectAbstract_638188171261143220" xlink:to="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect_638188171261143220" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" priority="7" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_638188171261143220" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffectAbstract_638188171261143220" xlink:to="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_638188171261143220" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_6381881712611432201" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffectAbstract_638188171261143220" xlink:to="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_6381881712611432201" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherNoncashInvestingAndFinancingItemsAbstract" xlink:label="us-gaap_OtherNoncashInvestingAndFinancingItemsAbstract_638188171261153222" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="StatementOfCashFlowsAbstract" xlink:to="us-gaap_OtherNoncashInvestingAndFinancingItemsAbstract_638188171261153222" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability" xlink:label="us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability_638188171261153222" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_OtherNoncashInvestingAndFinancingItemsAbstract_638188171261153222" xlink:to="us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability_638188171261153222" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CapitalExpendituresIncurredButNotYetPaid" xlink:label="us-gaap_CapitalExpendituresIncurredButNotYetPaid_638188171261153222" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_OtherNoncashInvestingAndFinancingItemsAbstract_638188171261153222" xlink:to="us-gaap_CapitalExpendituresIncurredButNotYetPaid_638188171261153222" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="3" />
  </presentationLink>
  <presentationLink xlink:role="http://www.topbuild.com/role/StatementCondensedConsolidatedStatementsOfChangesInEquity" xlink:type="extended" xlink:title="00500 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF CHANGES IN EQUITY" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementOfStockholdersEquityAbstract" xlink:label="StatementOfStockholdersEquityAbstract" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable_638188171261153222" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="StatementOfStockholdersEquityAbstract" xlink:to="us-gaap_StatementTable_638188171261153222" order="1" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementEquityComponentsAxis" xlink:label="us-gaap_StatementEquityComponentsAxis_638188171261153222" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable_638188171261153222" xlink:to="us-gaap_StatementEquityComponentsAxis_638188171261153222" order="1" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommonStockMember" xlink:label="us-gaap_CommonStockMember_638188171261153222" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementEquityComponentsAxis_638188171261153222" xlink:to="us-gaap_CommonStockMember_638188171261153222" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TreasuryStockCommonMember" xlink:label="us-gaap_TreasuryStockCommonMember_638188171261163219" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementEquityComponentsAxis_638188171261153222" xlink:to="us-gaap_TreasuryStockCommonMember_638188171261163219" order="2" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AdditionalPaidInCapitalMember" xlink:label="us-gaap_AdditionalPaidInCapitalMember_638188171261163219" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementEquityComponentsAxis_638188171261153222" xlink:to="us-gaap_AdditionalPaidInCapitalMember_638188171261163219" order="3" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RetainedEarningsMember" xlink:label="us-gaap_RetainedEarningsMember_638188171261163219" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementEquityComponentsAxis_638188171261153222" xlink:to="us-gaap_RetainedEarningsMember_638188171261163219" order="4" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeMember" xlink:label="us-gaap_AccumulatedOtherComprehensiveIncomeMember_638188171261163219" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementEquityComponentsAxis_638188171261153222" xlink:to="us-gaap_AccumulatedOtherComprehensiveIncomeMember_638188171261163219" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EquityComponentDomain" xlink:label="us-gaap_EquityComponentDomain_638188171261163219" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementEquityComponentsAxis_638188171261153222" xlink:to="us-gaap_EquityComponentDomain_638188171261163219" order="6" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems_638188171261163219" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable_638188171261153222" xlink:to="us-gaap_StatementLineItems_638188171261163219" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInStockholdersEquityRollForward" xlink:label="us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_638188171261163219" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_638188171261163219" xlink:to="us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_638188171261163219" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockholdersEquity" xlink:label="us-gaap_StockholdersEquity_638188171261163219" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_638188171261163219" xlink:to="us-gaap_StockholdersEquity_638188171261163219" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" priority="3" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetIncomeLoss" xlink:label="us-gaap_NetIncomeLoss_638188171261163219" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_638188171261163219" xlink:to="us-gaap_NetIncomeLoss_638188171261163219" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="8" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" xlink:label="us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue_638188171261163219" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_638188171261163219" xlink:to="us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue_638188171261163219" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="5" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardGross" xlink:label="us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardGross_638188171261163219" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_638188171261163219" xlink:to="us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardGross_638188171261163219" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="bld-20230331.xsd#bld_TreasuryStockValueAcquiredCostMethodShareRepurchaseProgram" xlink:label="bld_TreasuryStockValueAcquiredCostMethodShareRepurchaseProgram_638188171261163219" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_638188171261163219" xlink:to="bld_TreasuryStockValueAcquiredCostMethodShareRepurchaseProgram_638188171261163219" order="5" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" priority="6" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation" xlink:label="us-gaap_AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation_638188171261163219" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_638188171261163219" xlink:to="us-gaap_AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation_638188171261163219" order="6" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised" xlink:label="us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised_638188171261173221" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_638188171261163219" xlink:to="us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised_638188171261173221" order="7" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherComprehensiveIncomeLossNetOfTax" xlink:label="us-gaap_OtherComprehensiveIncomeLossNetOfTax_638188171261173221" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_638188171261163219" xlink:to="us-gaap_OtherComprehensiveIncomeLossNetOfTax_638188171261173221" order="8" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="8" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockholdersEquity" xlink:label="us-gaap_StockholdersEquity_638188171261173221" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_638188171261163219" xlink:to="us-gaap_StockholdersEquity_638188171261173221" order="9" use="optional" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" priority="3" />
  </presentationLink>
  <presentationLink xlink:role="http://www.topbuild.com/role/StatementCondensedConsolidatedStatementsOfChangesInEquityParenthetical" xlink:type="extended" xlink:title="00505 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF CHANGES IN EQUITY (Parenthetical)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementOfStockholdersEquityAbstract" xlink:label="us-gaap_StatementOfStockholdersEquityAbstract" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommonStockParOrStatedValuePerShare" xlink:label="us-gaap_CommonStockParOrStatedValuePerShare_638188171261173221" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementOfStockholdersEquityAbstract" xlink:to="us-gaap_CommonStockParOrStatedValuePerShare_638188171261173221" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardGross" xlink:label="us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardGross_638188171261173221" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementOfStockholdersEquityAbstract" xlink:to="us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardGross_638188171261173221" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="bld-20230331.xsd#bld_TreasuryStockSharesAcquiredCostMethodShareRepurchaseProgram" xlink:label="bld_TreasuryStockSharesAcquiredCostMethodShareRepurchaseProgram_638188171261173221" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementOfStockholdersEquityAbstract" xlink:to="bld_TreasuryStockSharesAcquiredCostMethodShareRepurchaseProgram_638188171261173221" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation" xlink:label="us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation_638188171261173221" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementOfStockholdersEquityAbstract" xlink:to="us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation_638188171261173221" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised" xlink:label="us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised_638188171261173221" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementOfStockholdersEquityAbstract" xlink:to="us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised_638188171261173221" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </presentationLink>
  <presentationLink xlink:role="http://www.topbuild.com/role/DisclosureBasisOfPresentation" xlink:type="extended" xlink:title="10101 - Disclosure - Basis of Presentation" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract" xlink:label="us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract_635965918707725067" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessDescriptionAndBasisOfPresentationTextBlock" xlink:label="us-gaap_BusinessDescriptionAndBasisOfPresentationTextBlock_638188171261233219" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract_635965918707725067" xlink:to="us-gaap_BusinessDescriptionAndBasisOfPresentationTextBlock_638188171261233219" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </presentationLink>
  <presentationLink xlink:role="http://www.topbuild.com/role/DisclosureAccountingPolicies" xlink:type="extended" xlink:title="10201 - Disclosure - Accounting Policies" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccountingPoliciesAbstract" xlink:label="AccountingPoliciesAbstract" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SignificantAccountingPoliciesTextBlock" xlink:label="us-gaap_SignificantAccountingPoliciesTextBlock_638188171261233219" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountingPoliciesAbstract" xlink:to="us-gaap_SignificantAccountingPoliciesTextBlock_638188171261233219" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </presentationLink>
  <presentationLink xlink:role="http://www.topbuild.com/role/DisclosureRevenueRecognition" xlink:type="extended" xlink:title="10301 - Disclosure - Revenue Recognition" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RevenueFromContractWithCustomerAbstract" xlink:label="us-gaap_RevenueFromContractWithCustomerAbstract" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RevenueFromContractWithCustomerTextBlock" xlink:label="us-gaap_RevenueFromContractWithCustomerTextBlock_638188171261233219" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RevenueFromContractWithCustomerAbstract" xlink:to="us-gaap_RevenueFromContractWithCustomerTextBlock_638188171261233219" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="3" />
  </presentationLink>
  <presentationLink xlink:role="http://www.topbuild.com/role/DisclosureGoodwillAndOtherIntangibles" xlink:type="extended" xlink:title="10401 - Disclosure - Goodwill and Other Intangibles" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract" xlink:label="GoodwillAndIntangibleAssetsDisclosureAbstract" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GoodwillAndIntangibleAssetsDisclosureTextBlock" xlink:label="us-gaap_GoodwillAndIntangibleAssetsDisclosureTextBlock_638188171261233219" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="GoodwillAndIntangibleAssetsDisclosureAbstract" xlink:to="us-gaap_GoodwillAndIntangibleAssetsDisclosureTextBlock_638188171261233219" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </presentationLink>
  <presentationLink xlink:role="http://www.topbuild.com/role/DisclosureLongTermDebt" xlink:type="extended" xlink:title="10501 - Disclosure - Long-Term Debt" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtDisclosureAbstract" xlink:label="DebtDisclosureAbstract" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongTermDebtTextBlock" xlink:label="us-gaap_LongTermDebtTextBlock_638188171261243218" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="DebtDisclosureAbstract" xlink:to="us-gaap_LongTermDebtTextBlock_638188171261243218" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </presentationLink>
  <presentationLink xlink:role="http://www.topbuild.com/role/DisclosureFairValueMeasurements" xlink:type="extended" xlink:title="10601 - Disclosure - Fair Value Measurements" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueDisclosuresAbstract" xlink:label="FairValueDisclosuresAbstract" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueDisclosuresTextBlock" xlink:label="us-gaap_FairValueDisclosuresTextBlock_638188171261243218" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="FairValueDisclosuresAbstract" xlink:to="us-gaap_FairValueDisclosuresTextBlock_638188171261243218" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </presentationLink>
  <presentationLink xlink:role="http://www.topbuild.com/role/DisclosureSegmentInformation" xlink:type="extended" xlink:title="10701 - Disclosure - Segment Information" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SegmentReportingAbstract" xlink:label="SegmentReportingAbstract" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SegmentReportingDisclosureTextBlock" xlink:label="us-gaap_SegmentReportingDisclosureTextBlock_638188171261243218" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="SegmentReportingAbstract" xlink:to="us-gaap_SegmentReportingDisclosureTextBlock_638188171261243218" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </presentationLink>
  <presentationLink xlink:role="http://www.topbuild.com/role/DisclosureIncomeTaxes" xlink:type="extended" xlink:title="10801 - Disclosure - Income Taxes" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeTaxDisclosureAbstract" xlink:label="IncomeTaxDisclosureAbstract" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeTaxDisclosureTextBlock" xlink:label="us-gaap_IncomeTaxDisclosureTextBlock_638188171261243218" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncomeTaxDisclosureAbstract" xlink:to="us-gaap_IncomeTaxDisclosureTextBlock_638188171261243218" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </presentationLink>
  <presentationLink xlink:role="http://www.topbuild.com/role/DisclosureNetIncomePerShare" xlink:type="extended" xlink:title="10901 - Disclosure - Net Income Per Share" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EarningsPerShareAbstract" xlink:label="EarningsPerShareAbstract" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EarningsPerShareTextBlock" xlink:label="us-gaap_EarningsPerShareTextBlock_638188171261243218" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="EarningsPerShareAbstract" xlink:to="us-gaap_EarningsPerShareTextBlock_638188171261243218" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </presentationLink>
  <presentationLink xlink:role="http://www.topbuild.com/role/DisclosureShareBasedCompensation" xlink:type="extended" xlink:title="11001 - Disclosure - Share-Based Compensation" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:label="DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock" xlink:label="us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock_638188171261243218" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock_638188171261243218" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </presentationLink>
  <presentationLink xlink:role="http://www.topbuild.com/role/DisclosureBusinessCombinations" xlink:type="extended" xlink:title="11101 - Disclosure - Business Combinations" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessCombinationsAbstract" xlink:label="us-gaap_BusinessCombinationsAbstract" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessCombinationDisclosureTextBlock" xlink:label="us-gaap_BusinessCombinationDisclosureTextBlock_638188171261253221" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessCombinationsAbstract" xlink:to="us-gaap_BusinessCombinationDisclosureTextBlock_638188171261253221" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </presentationLink>
  <presentationLink xlink:role="http://www.topbuild.com/role/DisclosureAccruedLiabilities" xlink:type="extended" xlink:title="11201 - Disclosure - Accrued Liabilities" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PayablesAndAccrualsAbstract" xlink:label="us-gaap_PayablesAndAccrualsAbstract" />
    <loc xlink:type="locator" xlink:href="bld-20230331.xsd#bld_AccruedLiabilitiesDisclosureTextBlock" xlink:label="bld_AccruedLiabilitiesDisclosureTextBlock_638188171261253221" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PayablesAndAccrualsAbstract" xlink:to="bld_AccruedLiabilitiesDisclosureTextBlock_638188171261253221" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </presentationLink>
  <presentationLink xlink:role="http://www.topbuild.com/role/DisclosureOtherCommitmentsAndContingencies" xlink:type="extended" xlink:title="11301 - Disclosure - Other Commitments and Contingencies" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommitmentsAndContingenciesDisclosureAbstract" xlink:label="CommitmentsAndContingenciesDisclosureAbstract" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommitmentsAndContingenciesDisclosureTextBlock" xlink:label="us-gaap_CommitmentsAndContingenciesDisclosureTextBlock_638188171261253221" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="CommitmentsAndContingenciesDisclosureAbstract" xlink:to="us-gaap_CommitmentsAndContingenciesDisclosureTextBlock_638188171261253221" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </presentationLink>
  <presentationLink xlink:role="http://www.topbuild.com/role/DisclosureAccountingPoliciesPolicies" xlink:type="extended" xlink:title="20202 - Disclosure - Accounting Policies (Policies)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccountingPoliciesAbstract" xlink:label="AccountingPoliciesAbstract" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BasisOfAccountingPolicyPolicyTextBlock" xlink:label="us-gaap_BasisOfAccountingPolicyPolicyTextBlock_638188171261253221" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountingPoliciesAbstract" xlink:to="us-gaap_BasisOfAccountingPolicyPolicyTextBlock_638188171261253221" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock" xlink:label="us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock_638188171261253221" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountingPoliciesAbstract" xlink:to="us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock_638188171261253221" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </presentationLink>
  <presentationLink xlink:role="http://www.topbuild.com/role/DisclosureRevenueRecognitionTables" xlink:type="extended" xlink:title="30303 - Disclosure - Revenue Recognition (Tables)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RevenueFromContractWithCustomerAbstract" xlink:label="us-gaap_RevenueFromContractWithCustomerAbstract" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisaggregationOfRevenueTableTextBlock" xlink:label="us-gaap_DisaggregationOfRevenueTableTextBlock_638188171261263219" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RevenueFromContractWithCustomerAbstract" xlink:to="us-gaap_DisaggregationOfRevenueTableTextBlock_638188171261263219" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="3" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock" xlink:label="us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock_638188171261263219" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RevenueFromContractWithCustomerAbstract" xlink:to="us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock_638188171261263219" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="3" />
  </presentationLink>
  <presentationLink xlink:role="http://www.topbuild.com/role/DisclosureGoodwillAndOtherIntangiblesTables" xlink:type="extended" xlink:title="30403 - Disclosure - Goodwill and Other Intangibles (Tables)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract" xlink:label="GoodwillAndIntangibleAssetsDisclosureAbstract" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfGoodwillTextBlock" xlink:label="us-gaap_ScheduleOfGoodwillTextBlock_638188171261263219" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="GoodwillAndIntangibleAssetsDisclosureAbstract" xlink:to="us-gaap_ScheduleOfGoodwillTextBlock_638188171261263219" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="bld-20230331.xsd#bld_ScheduleOfAcquiredFiniteLivedAndIndefiniteLivedIntangibleAssetTableTextBlock" xlink:label="bld_ScheduleOfAcquiredFiniteLivedAndIndefiniteLivedIntangibleAssetTableTextBlock_638188171261263219" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="GoodwillAndIntangibleAssetsDisclosureAbstract" xlink:to="bld_ScheduleOfAcquiredFiniteLivedAndIndefiniteLivedIntangibleAssetTableTextBlock_638188171261263219" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseTableTextBlock" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseTableTextBlock_638188171261263219" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="GoodwillAndIntangibleAssetsDisclosureAbstract" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseTableTextBlock_638188171261263219" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </presentationLink>
  <presentationLink xlink:role="http://www.topbuild.com/role/DisclosureLongTermDebtTables" xlink:type="extended" xlink:title="30503 - Disclosure - Long-Term Debt (Tables)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtDisclosureAbstract" xlink:label="us-gaap_DebtDisclosureAbstract" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfDebtTableTextBlock" xlink:label="us-gaap_ScheduleOfDebtTableTextBlock_638188171261263219" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtDisclosureAbstract" xlink:to="us-gaap_ScheduleOfDebtTableTextBlock_638188171261263219" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfMaturitiesOfLongTermDebtTableTextBlock" xlink:label="us-gaap_ScheduleOfMaturitiesOfLongTermDebtTableTextBlock_638188171261263219" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtDisclosureAbstract" xlink:to="us-gaap_ScheduleOfMaturitiesOfLongTermDebtTableTextBlock_638188171261263219" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <loc xlink:type="locator" xlink:href="bld-20230331.xsd#bld_SummaryOfKeyTermsOfCreditAgreementTableTextBlock" xlink:label="bld_SummaryOfKeyTermsOfCreditAgreementTableTextBlock_638188171261263219" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtDisclosureAbstract" xlink:to="bld_SummaryOfKeyTermsOfCreditAgreementTableTextBlock_638188171261263219" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="bld-20230331.xsd#bld_ScheduleOfAvailabilityUnderRevolvingFacilityTableTextBlock" xlink:label="bld_ScheduleOfAvailabilityUnderRevolvingFacilityTableTextBlock_638188171261263219" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtDisclosureAbstract" xlink:to="bld_ScheduleOfAvailabilityUnderRevolvingFacilityTableTextBlock_638188171261263219" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="bld-20230331.xsd#bld_ScheduleOfKeyFinancialCovenantsTableTextBlock" xlink:label="bld_ScheduleOfKeyFinancialCovenantsTableTextBlock_638188171261263219" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtDisclosureAbstract" xlink:to="bld_ScheduleOfKeyFinancialCovenantsTableTextBlock_638188171261263219" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </presentationLink>
  <presentationLink xlink:role="http://www.topbuild.com/role/DisclosureFairValueMeasurementsTables" xlink:type="extended" xlink:title="30603 - Disclosure - Fair Value Measurements (Tables)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueDisclosuresAbstract" xlink:label="us-gaap_FairValueDisclosuresAbstract" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTableTextBlock" xlink:label="us-gaap_FairValueLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTableTextBlock_638188171261273220" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FairValueDisclosuresAbstract" xlink:to="us-gaap_FairValueLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTableTextBlock_638188171261273220" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
  </presentationLink>
  <presentationLink xlink:role="http://www.topbuild.com/role/DisclosureSegmentInformationTables" xlink:type="extended" xlink:title="30703 - Disclosure - Segment Information (Tables)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SegmentReportingAbstract" xlink:label="SegmentReportingAbstract" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfSegmentReportingInformationBySegmentTextBlock" xlink:label="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTextBlock_638188171261273220" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="SegmentReportingAbstract" xlink:to="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTextBlock_638188171261273220" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </presentationLink>
  <presentationLink xlink:role="http://www.topbuild.com/role/DisclosureNetIncomePerShareTables" xlink:type="extended" xlink:title="30903 - Disclosure - Net Income Per Share (Tables)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EarningsPerShareAbstract" xlink:label="EarningsPerShareAbstract" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" xlink:label="us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock_638188171261273220" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="EarningsPerShareAbstract" xlink:to="us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock_638188171261273220" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock" xlink:label="us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock_638188171261273220" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="EarningsPerShareAbstract" xlink:to="us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock_638188171261273220" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </presentationLink>
  <presentationLink xlink:role="http://www.topbuild.com/role/DisclosureShareBasedCompensationTables" xlink:type="extended" xlink:title="31003 - Disclosure - Share-Based Compensation (Tables)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:label="DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:label="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_638188171261273220" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_638188171261273220" order="1" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="bld-20230331.xsd#bld_VestingCriteriaAxis" xlink:label="bld_VestingCriteriaAxis_638188171261283222" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_638188171261273220" xlink:to="bld_VestingCriteriaAxis_638188171261283222" order="1" use="optional" priority="3" />
    <loc xlink:type="locator" xlink:href="bld-20230331.xsd#bld_VestingCriteriaDomain" xlink:label="bld_VestingCriteriaDomain_638188171261283222" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="bld_VestingCriteriaAxis_638188171261283222" xlink:to="bld_VestingCriteriaDomain_638188171261283222" order="1" use="optional" priority="1" />
    <loc xlink:type="locator" xlink:href="bld-20230331.xsd#bld_VestingBasedOnPerformanceMember" xlink:label="bld_VestingBasedOnPerformanceMember_638188171261283222" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="bld_VestingCriteriaDomain_638188171261283222" xlink:to="bld_VestingBasedOnPerformanceMember_638188171261283222" order="1" use="optional" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AwardTypeAxis" xlink:label="us-gaap_AwardTypeAxis_638188171261283222" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_638188171261273220" xlink:to="us-gaap_AwardTypeAxis_638188171261283222" order="2" use="optional" priority="3" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_638188171261283222" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AwardTypeAxis_638188171261283222" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_638188171261283222" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RestrictedStockMember" xlink:label="us-gaap_RestrictedStockMember_638188171261283222" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_638188171261283222" xlink:to="us-gaap_RestrictedStockMember_638188171261283222" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_638188171261283222" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_638188171261273220" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_638188171261283222" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" />
    <loc xlink:type="locator" xlink:href="bld-20230331.xsd#bld_ScheduleOfShareBasedCompensationExpenseTableTextBlock" xlink:label="bld_ScheduleOfShareBasedCompensationExpenseTableTextBlock_638188171261283222" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_638188171261283222" xlink:to="bld_ScheduleOfShareBasedCompensationExpenseTableTextBlock_638188171261283222" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfShareBasedCompensationActivityTableTextBlock" xlink:label="us-gaap_ScheduleOfShareBasedCompensationActivityTableTextBlock_638188171261283222" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_638188171261283222" xlink:to="us-gaap_ScheduleOfShareBasedCompensationActivityTableTextBlock_638188171261283222" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="3" />
    <loc xlink:type="locator" xlink:href="bld-20230331.xsd#bld_ScheduleOfUnrecognizedShareBasedCompensationExpenseNonvestedAwards" xlink:label="bld_ScheduleOfUnrecognizedShareBasedCompensationExpenseNonvestedAwards_638188171261283222" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_638188171261283222" xlink:to="bld_ScheduleOfUnrecognizedShareBasedCompensationExpenseNonvestedAwards_638188171261283222" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" />
    <loc xlink:type="locator" xlink:href="bld-20230331.xsd#bld_ScheduleOfShareBasedPaymentAwardRestrictedStockAwardsPayoutRangeAndRelatedExpenseTableTextBlock" xlink:label="bld_ScheduleOfShareBasedPaymentAwardRestrictedStockAwardsPayoutRangeAndRelatedExpenseTableTextBlock_638188171261283222" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_638188171261283222" xlink:to="bld_ScheduleOfShareBasedPaymentAwardRestrictedStockAwardsPayoutRangeAndRelatedExpenseTableTextBlock_638188171261283222" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="5" />
    <loc xlink:type="locator" xlink:href="bld-20230331.xsd#bld_ScheduleOfShareBasedPaymentAwardOtherThanOptionsValuationAssumptionsTableTextBlock" xlink:label="bld_ScheduleOfShareBasedPaymentAwardOtherThanOptionsValuationAssumptionsTableTextBlock_638188171261283222" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_638188171261283222" xlink:to="bld_ScheduleOfShareBasedPaymentAwardOtherThanOptionsValuationAssumptionsTableTextBlock_638188171261283222" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
  </presentationLink>
  <presentationLink xlink:role="http://www.topbuild.com/role/DisclosureBusinessCombinationsTables" xlink:type="extended" xlink:title="31103 - Disclosure - Business Combinations (Tables)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessCombinationsAbstract" xlink:label="us-gaap_BusinessCombinationsAbstract" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable" xlink:label="us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_638188171261293219" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessCombinationsAbstract" xlink:to="us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_638188171261293219" order="1" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessAcquisitionAxis" xlink:label="us-gaap_BusinessAcquisitionAxis_638188171261293219" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_638188171261293219" xlink:to="us-gaap_BusinessAcquisitionAxis_638188171261293219" order="1" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessAcquisitionAcquireeDomain" xlink:label="us-gaap_BusinessAcquisitionAcquireeDomain_638188171261293219" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAxis_638188171261293219" xlink:to="us-gaap_BusinessAcquisitionAcquireeDomain_638188171261293219" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="bld-20230331.xsd#bld_Acquisitions2022Member" xlink:label="bld_Acquisitions2022Member_638188171261293219" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain_638188171261293219" xlink:to="bld_Acquisitions2022Member_638188171261293219" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessAcquisitionLineItems" xlink:label="us-gaap_BusinessAcquisitionLineItems_638188171261293219" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_638188171261293219" xlink:to="us-gaap_BusinessAcquisitionLineItems_638188171261293219" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTextBlock" xlink:label="us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTextBlock_638188171261293219" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionLineItems_638188171261293219" xlink:to="us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTextBlock_638188171261293219" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="7" />
  </presentationLink>
  <presentationLink xlink:role="http://www.topbuild.com/role/DisclosureAccruedLiabilitiesTables" xlink:type="extended" xlink:title="31203 - Disclosure - Accrued Liabilities (Tables)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PayablesAndAccrualsAbstract" xlink:label="us-gaap_PayablesAndAccrualsAbstract" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock" xlink:label="us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock_638188171261293219" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PayablesAndAccrualsAbstract" xlink:to="us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock_638188171261293219" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </presentationLink>
  <presentationLink xlink:role="http://www.topbuild.com/role/DisclosureOtherCommitmentsAndContingenciesTables" xlink:type="extended" xlink:title="31303 - Disclosure - Other Commitments and Contingencies (Tables)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommitmentsAndContingenciesDisclosureAbstract" xlink:label="us-gaap_CommitmentsAndContingenciesDisclosureAbstract" />
    <loc xlink:type="locator" xlink:href="bld-20230331.xsd#bld_BondsOutstandingTableTextBlock" xlink:label="bld_BondsOutstandingTableTextBlock_638188171261293219" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CommitmentsAndContingenciesDisclosureAbstract" xlink:to="bld_BondsOutstandingTableTextBlock_638188171261293219" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </presentationLink>
  <presentationLink xlink:role="http://www.topbuild.com/role/DisclosureBasisOfPresentationDetails" xlink:type="extended" xlink:title="40101 - Disclosure - Basis of Presentation (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract" xlink:label="us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract_635980607975500351" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NumberOfReportableSegments" xlink:label="us-gaap_NumberOfReportableSegments_638188171261303222" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract_635980607975500351" xlink:to="us-gaap_NumberOfReportableSegments_638188171261303222" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </presentationLink>
  <presentationLink xlink:role="http://www.topbuild.com/role/DisclosureRevenueRecognitionDisaggregationDetails" xlink:type="extended" xlink:title="40301 - Disclosure - Revenue Recognition - Disaggregation (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RevenueFromContractWithCustomerAbstract" xlink:label="us-gaap_RevenueFromContractWithCustomerAbstract" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisaggregationOfRevenueTable" xlink:label="us-gaap_DisaggregationOfRevenueTable_638188171261303222" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RevenueFromContractWithCustomerAbstract" xlink:to="us-gaap_DisaggregationOfRevenueTable_638188171261303222" order="1" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ConsolidationItemsAxis" xlink:label="srt_ConsolidationItemsAxis_638188171261303222" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisaggregationOfRevenueTable_638188171261303222" xlink:to="srt_ConsolidationItemsAxis_638188171261303222" order="1" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ConsolidationItemsDomain" xlink:label="srt_ConsolidationItemsDomain_638188171261303222" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ConsolidationItemsAxis_638188171261303222" xlink:to="srt_ConsolidationItemsDomain_638188171261303222" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingSegmentsMember" xlink:label="us-gaap_OperatingSegmentsMember_638188171261303222" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ConsolidationItemsDomain_638188171261303222" xlink:to="us-gaap_OperatingSegmentsMember_638188171261303222" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="bld-20230331.xsd#bld_EliminationsAndReconcilingItemsMember" xlink:label="bld_EliminationsAndReconcilingItemsMember_638188171261303222" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ConsolidationItemsDomain_638188171261303222" xlink:to="bld_EliminationsAndReconcilingItemsMember_638188171261303222" order="2" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementBusinessSegmentsAxis" xlink:label="us-gaap_StatementBusinessSegmentsAxis_638188171261303222" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisaggregationOfRevenueTable_638188171261303222" xlink:to="us-gaap_StatementBusinessSegmentsAxis_638188171261303222" order="2" use="optional" priority="3" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SegmentDomain" xlink:label="us-gaap_SegmentDomain_638188171261303222" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementBusinessSegmentsAxis_638188171261303222" xlink:to="us-gaap_SegmentDomain_638188171261303222" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="bld-20230331.xsd#bld_InstallationSegmentMember" xlink:label="bld_InstallationSegmentMember_638188171261303222" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SegmentDomain_638188171261303222" xlink:to="bld_InstallationSegmentMember_638188171261303222" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="bld-20230331.xsd#bld_DistributionSegmentMember" xlink:label="bld_DistributionSegmentMember_638188171261303222" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SegmentDomain_638188171261303222" xlink:to="bld_DistributionSegmentMember_638188171261303222" order="2" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_MajorCustomersAxis" xlink:label="srt_MajorCustomersAxis_638188171261313222" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisaggregationOfRevenueTable_638188171261303222" xlink:to="srt_MajorCustomersAxis_638188171261313222" order="3" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_NameOfMajorCustomerDomain" xlink:label="srt_NameOfMajorCustomerDomain_638188171261313222" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_MajorCustomersAxis_638188171261313222" xlink:to="srt_NameOfMajorCustomerDomain_638188171261313222" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="bld-20230331.xsd#bld_ResidentialMember" xlink:label="bld_ResidentialMember_638188171261313222" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_NameOfMajorCustomerDomain_638188171261313222" xlink:to="bld_ResidentialMember_638188171261313222" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="bld-20230331.xsd#bld_CommercialAndIndustrialMember" xlink:label="bld_CommercialAndIndustrialMember_638188171261313222" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_NameOfMajorCustomerDomain_638188171261313222" xlink:to="bld_CommercialAndIndustrialMember_638188171261313222" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ProductOrServiceAxis" xlink:label="srt_ProductOrServiceAxis_638188171261313222" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisaggregationOfRevenueTable_638188171261303222" xlink:to="srt_ProductOrServiceAxis_638188171261313222" order="4" use="optional" priority="3" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ProductsAndServicesDomain" xlink:label="srt_ProductsAndServicesDomain_638188171261313222" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ProductOrServiceAxis_638188171261313222" xlink:to="srt_ProductsAndServicesDomain_638188171261313222" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="bld-20230331.xsd#bld_InsulationAndAccessoriesMember" xlink:label="bld_InsulationAndAccessoriesMember_638188171261313222" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ProductsAndServicesDomain_638188171261313222" xlink:to="bld_InsulationAndAccessoriesMember_638188171261313222" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="bld-20230331.xsd#bld_GlassAndWindowsMember" xlink:label="bld_GlassAndWindowsMember_638188171261313222" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ProductsAndServicesDomain_638188171261313222" xlink:to="bld_GlassAndWindowsMember_638188171261313222" order="2" use="optional" />
    <loc xlink:type="locator" xlink:href="bld-20230331.xsd#bld_RainGuttersMember" xlink:label="bld_RainGuttersMember_638188171261313222" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ProductsAndServicesDomain_638188171261313222" xlink:to="bld_RainGuttersMember_638188171261313222" order="3" use="optional" />
    <loc xlink:type="locator" xlink:href="bld-20230331.xsd#bld_AllOtherProductsMember" xlink:label="bld_AllOtherProductsMember_638188171261313222" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ProductsAndServicesDomain_638188171261313222" xlink:to="bld_AllOtherProductsMember_638188171261313222" order="4" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisaggregationOfRevenueLineItems" xlink:label="us-gaap_DisaggregationOfRevenueLineItems_638188171261313222" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisaggregationOfRevenueTable_638188171261303222" xlink:to="us-gaap_DisaggregationOfRevenueLineItems_638188171261313222" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" xlink:label="us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax_638188171261313222" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisaggregationOfRevenueLineItems_638188171261313222" xlink:to="us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax_638188171261313222" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
  </presentationLink>
  <presentationLink xlink:role="http://www.topbuild.com/role/DisclosureRevenueRecognitionOtherDetails" xlink:type="extended" xlink:title="40302 - Disclosure - Revenue Recognition - Other (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RevenueFromContractWithCustomerAbstract" xlink:label="us-gaap_RevenueFromContractWithCustomerAbstract" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable_638188171261323259" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RevenueFromContractWithCustomerAbstract" xlink:to="us-gaap_StatementTable_638188171261323259" order="1" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BalanceSheetLocationAxis" xlink:label="us-gaap_BalanceSheetLocationAxis_638188171261323259" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable_638188171261323259" xlink:to="us-gaap_BalanceSheetLocationAxis_638188171261323259" order="1" use="optional" priority="3" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BalanceSheetLocationDomain" xlink:label="us-gaap_BalanceSheetLocationDomain_638188171261323259" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BalanceSheetLocationAxis_638188171261323259" xlink:to="us-gaap_BalanceSheetLocationDomain_638188171261323259" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="bld-20230331.xsd#bld_ReceivablesNetMember" xlink:label="bld_ReceivablesNetMember_638188171261323259" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BalanceSheetLocationDomain_638188171261323259" xlink:to="bld_ReceivablesNetMember_638188171261323259" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccruedLiabilitiesMember" xlink:label="us-gaap_AccruedLiabilitiesMember_638188171261323259" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BalanceSheetLocationDomain_638188171261323259" xlink:to="us-gaap_AccruedLiabilitiesMember_638188171261323259" order="2" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems_638188171261323259" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable_638188171261323259" xlink:to="us-gaap_StatementLineItems_638188171261323259" order="2" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ContractWithCustomerAssetAndLiabilityAbstract" xlink:label="us-gaap_ContractWithCustomerAssetAndLiabilityAbstract_638188171261323259" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_638188171261323259" xlink:to="us-gaap_ContractWithCustomerAssetAndLiabilityAbstract_638188171261323259" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="5" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ContractWithCustomerAssetNetCurrentAbstract" xlink:label="us-gaap_ContractWithCustomerAssetNetCurrentAbstract_638188171261323259" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ContractWithCustomerAssetAndLiabilityAbstract_638188171261323259" xlink:to="us-gaap_ContractWithCustomerAssetNetCurrentAbstract_638188171261323259" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="3" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ContractWithCustomerAssetNetCurrent" xlink:label="us-gaap_ContractWithCustomerAssetNetCurrent_638188171261323259" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ContractWithCustomerAssetNetCurrentAbstract_638188171261323259" xlink:to="us-gaap_ContractWithCustomerAssetNetCurrent_638188171261323259" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="3" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ContractWithCustomerLiabilityAbstract" xlink:label="us-gaap_ContractWithCustomerLiabilityAbstract_638188171261323259" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ContractWithCustomerAssetAndLiabilityAbstract_638188171261323259" xlink:to="us-gaap_ContractWithCustomerLiabilityAbstract_638188171261323259" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ContractWithCustomerLiabilityCurrent" xlink:label="us-gaap_ContractWithCustomerLiabilityCurrent_638188171261333220" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ContractWithCustomerLiabilityAbstract_638188171261323259" xlink:to="us-gaap_ContractWithCustomerLiabilityCurrent_638188171261333220" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="3" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RevenuePerformanceObligationSatisfiedOverTimeAbstract" xlink:label="us-gaap_RevenuePerformanceObligationSatisfiedOverTimeAbstract_638188171261333220" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ContractWithCustomerAssetAndLiabilityAbstract_638188171261323259" xlink:to="us-gaap_RevenuePerformanceObligationSatisfiedOverTimeAbstract_638188171261333220" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RevenueRemainingPerformanceObligation" xlink:label="us-gaap_RevenueRemainingPerformanceObligation_638188171261333220" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RevenuePerformanceObligationSatisfiedOverTimeAbstract_638188171261333220" xlink:to="us-gaap_RevenueRemainingPerformanceObligation_638188171261333220" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="3" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionExplanation" xlink:label="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionExplanation_638188171261333220" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RevenuePerformanceObligationSatisfiedOverTimeAbstract_638188171261333220" xlink:to="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionExplanation_638188171261333220" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ConstructionContractorReceivableRetainage" xlink:label="us-gaap_ConstructionContractorReceivableRetainage_638188171261333220" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RevenuePerformanceObligationSatisfiedOverTimeAbstract_638188171261333220" xlink:to="us-gaap_ConstructionContractorReceivableRetainage_638188171261333220" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
  </presentationLink>
  <presentationLink xlink:role="http://www.topbuild.com/role/DisclosureGoodwillAndOtherIntangiblesGoodwillDetails" xlink:type="extended" xlink:title="40401 - Disclosure - Goodwill and Other Intangibles - Goodwill (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract" xlink:label="GoodwillAndIntangibleAssetsDisclosureAbstract" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfGoodwillTable" xlink:label="us-gaap_ScheduleOfGoodwillTable_638188171261333220" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="GoodwillAndIntangibleAssetsDisclosureAbstract" xlink:to="us-gaap_ScheduleOfGoodwillTable_638188171261333220" order="1" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementBusinessSegmentsAxis" xlink:label="us-gaap_StatementBusinessSegmentsAxis_638188171261333220" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfGoodwillTable_638188171261333220" xlink:to="us-gaap_StatementBusinessSegmentsAxis_638188171261333220" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SegmentDomain" xlink:label="us-gaap_SegmentDomain_638188171261333220" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementBusinessSegmentsAxis_638188171261333220" xlink:to="us-gaap_SegmentDomain_638188171261333220" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="bld-20230331.xsd#bld_InstallationSegmentMember" xlink:label="bld_InstallationSegmentMember_638188171261333220" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SegmentDomain_638188171261333220" xlink:to="bld_InstallationSegmentMember_638188171261333220" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="bld-20230331.xsd#bld_DistributionSegmentMember" xlink:label="bld_DistributionSegmentMember_638188171261333220" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SegmentDomain_638188171261333220" xlink:to="bld_DistributionSegmentMember_638188171261333220" order="2" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GoodwillLineItems" xlink:label="us-gaap_GoodwillLineItems_638188171261333220" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfGoodwillTable_638188171261333220" xlink:to="us-gaap_GoodwillLineItems_638188171261333220" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NumberOfReportingUnits" xlink:label="us-gaap_NumberOfReportingUnits_638188171261343221" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_GoodwillLineItems_638188171261333220" xlink:to="us-gaap_NumberOfReportingUnits_638188171261343221" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GoodwillImpairmentLoss" xlink:label="us-gaap_GoodwillImpairmentLoss_638188171261343221" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_GoodwillLineItems_638188171261333220" xlink:to="us-gaap_GoodwillImpairmentLoss_638188171261343221" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="5" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GoodwillGross" xlink:label="us-gaap_GoodwillGross_638188171261343221" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_GoodwillLineItems_638188171261333220" xlink:to="us-gaap_GoodwillGross_638188171261343221" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" priority="9" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GoodwillPeriodIncreaseDecrease" xlink:label="us-gaap_GoodwillPeriodIncreaseDecrease_638188171261343221" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_GoodwillLineItems_638188171261333220" xlink:to="us-gaap_GoodwillPeriodIncreaseDecrease_638188171261343221" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="6" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GoodwillForeignCurrencyTranslationGainLoss" xlink:label="us-gaap_GoodwillForeignCurrencyTranslationGainLoss_638188171261343221" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_GoodwillLineItems_638188171261333220" xlink:to="us-gaap_GoodwillForeignCurrencyTranslationGainLoss_638188171261343221" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GoodwillGross" xlink:label="us-gaap_GoodwillGross_6381881712613432211" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_GoodwillLineItems_638188171261333220" xlink:to="us-gaap_GoodwillGross_6381881712613432211" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" priority="9" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GoodwillImpairedAccumulatedImpairmentLoss" xlink:label="us-gaap_GoodwillImpairedAccumulatedImpairmentLoss_638188171261343221" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_GoodwillLineItems_638188171261333220" xlink:to="us-gaap_GoodwillImpairedAccumulatedImpairmentLoss_638188171261343221" order="7" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_Goodwill" xlink:label="us-gaap_Goodwill_638188171261343221" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_GoodwillLineItems_638188171261333220" xlink:to="us-gaap_Goodwill_638188171261343221" order="8" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" priority="4" />
  </presentationLink>
  <presentationLink xlink:role="http://www.topbuild.com/role/DisclosureGoodwillAndOtherIntangiblesOtherIntangibleAssetsDetails" xlink:type="extended" xlink:title="40402 - Disclosure - Goodwill and Other Intangibles - Other intangible assets (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract" xlink:label="us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_635912329395097712" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IntangibleAssetsNetExcludingGoodwillAbstract" xlink:label="us-gaap_IntangibleAssetsNetExcludingGoodwillAbstract_638188171261343221" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_635912329395097712" xlink:to="us-gaap_IntangibleAssetsNetExcludingGoodwillAbstract_638188171261343221" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsGross" xlink:label="us-gaap_FiniteLivedIntangibleAssetsGross_638188171261343221" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IntangibleAssetsNetExcludingGoodwillAbstract_638188171261343221" xlink:to="us-gaap_FiniteLivedIntangibleAssetsGross_638188171261343221" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization_638188171261353227" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IntangibleAssetsNetExcludingGoodwillAbstract_638188171261343221" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization_638188171261353227" order="2" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" priority="6" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsNet" xlink:label="us-gaap_FiniteLivedIntangibleAssetsNet_638188171261353227" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IntangibleAssetsNetExcludingGoodwillAbstract_638188171261343221" xlink:to="us-gaap_FiniteLivedIntangibleAssetsNet_638188171261353227" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" priority="7" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IntangibleAssetsNetExcludingGoodwill" xlink:label="us-gaap_IntangibleAssetsNetExcludingGoodwill_638188171261353227" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IntangibleAssetsNetExcludingGoodwillAbstract_638188171261343221" xlink:to="us-gaap_IntangibleAssetsNetExcludingGoodwill_638188171261353227" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" priority="5" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AmortizationOfIntangibleAssets" xlink:label="us-gaap_AmortizationOfIntangibleAssets_638188171261353227" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IntangibleAssetsNetExcludingGoodwillAbstract_638188171261343221" xlink:to="us-gaap_AmortizationOfIntangibleAssets_638188171261353227" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
  </presentationLink>
  <presentationLink xlink:role="http://www.topbuild.com/role/DisclosureLongTermDebtReconciliationDetails" xlink:type="extended" xlink:title="40501 - Disclosure - Long-Term Debt - Reconciliation (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtDisclosureAbstract" xlink:label="us-gaap_DebtDisclosureAbstract" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentTable" xlink:label="us-gaap_DebtInstrumentTable_638188171261353227" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtDisclosureAbstract" xlink:to="us-gaap_DebtInstrumentTable_638188171261353227" order="1" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongtermDebtTypeAxis" xlink:label="us-gaap_LongtermDebtTypeAxis_638188171261353227" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentTable_638188171261353227" xlink:to="us-gaap_LongtermDebtTypeAxis_638188171261353227" order="1" use="optional" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongtermDebtTypeDomain" xlink:label="us-gaap_LongtermDebtTypeDomain_638188171261353227" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LongtermDebtTypeAxis_638188171261353227" xlink:to="us-gaap_LongtermDebtTypeDomain_638188171261353227" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="bld-20230331.xsd#bld_SeniorNotesDue2029Member" xlink:label="bld_SeniorNotesDue2029Member_638188171261353227" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LongtermDebtTypeDomain_638188171261353227" xlink:to="bld_SeniorNotesDue2029Member_638188171261353227" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="bld-20230331.xsd#bld_SeniorNotesDue2032Member" xlink:label="bld_SeniorNotesDue2032Member_638188171261353227" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LongtermDebtTypeDomain_638188171261353227" xlink:to="bld_SeniorNotesDue2032Member_638188171261353227" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SecuredDebtMember" xlink:label="us-gaap_SecuredDebtMember_638188171261353227" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LongtermDebtTypeDomain_638188171261353227" xlink:to="us-gaap_SecuredDebtMember_638188171261353227" order="3" use="optional" priority="1" />
    <loc xlink:type="locator" xlink:href="bld-20230331.xsd#bld_EquipmentNotesMember" xlink:label="bld_EquipmentNotesMember_638188171261353227" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LongtermDebtTypeDomain_638188171261353227" xlink:to="bld_EquipmentNotesMember_638188171261353227" order="4" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentLineItems" xlink:label="us-gaap_DebtInstrumentLineItems_638188171261353227" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentTable_638188171261353227" xlink:to="us-gaap_DebtInstrumentLineItems_638188171261353227" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="6" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentInterestRateStatedPercentage" xlink:label="us-gaap_DebtInstrumentInterestRateStatedPercentage_638188171261363223" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems_638188171261353227" xlink:to="us-gaap_DebtInstrumentInterestRateStatedPercentage_638188171261363223" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="5" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentCarryingAmount" xlink:label="us-gaap_DebtInstrumentCarryingAmount_638188171261363223" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems_638188171261353227" xlink:to="us-gaap_DebtInstrumentCarryingAmount_638188171261363223" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredFinanceCostsNet" xlink:label="us-gaap_DeferredFinanceCostsNet_638188171261363223" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems_638188171261353227" xlink:to="us-gaap_DeferredFinanceCostsNet_638188171261363223" order="3" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongTermDebt" xlink:label="us-gaap_LongTermDebt_638188171261363223" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems_638188171261353227" xlink:to="us-gaap_LongTermDebt_638188171261363223" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" priority="7" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongTermDebtCurrent" xlink:label="us-gaap_LongTermDebtCurrent_638188171261363223" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems_638188171261353227" xlink:to="us-gaap_LongTermDebtCurrent_638188171261363223" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongTermDebtNoncurrent" xlink:label="us-gaap_LongTermDebtNoncurrent_638188171261363223" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems_638188171261353227" xlink:to="us-gaap_LongTermDebtNoncurrent_638188171261363223" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="6" />
  </presentationLink>
  <presentationLink xlink:role="http://www.topbuild.com/role/DisclosureLongTermDebtScheduleOfDebtMaturityDetails" xlink:type="extended" xlink:title="40502 - Disclosure - Long-Term Debt - Schedule of debt maturity (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtDisclosureAbstract" xlink:label="us-gaap_DebtDisclosureAbstract" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentTable" xlink:label="us-gaap_DebtInstrumentTable_638188171261363223" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtDisclosureAbstract" xlink:to="us-gaap_DebtInstrumentTable_638188171261363223" order="1" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongtermDebtTypeAxis" xlink:label="us-gaap_LongtermDebtTypeAxis_638188171261363223" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentTable_638188171261363223" xlink:to="us-gaap_LongtermDebtTypeAxis_638188171261363223" order="1" use="optional" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongtermDebtTypeDomain" xlink:label="us-gaap_LongtermDebtTypeDomain_638188171261363223" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LongtermDebtTypeAxis_638188171261363223" xlink:to="us-gaap_LongtermDebtTypeDomain_638188171261363223" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="bld-20230331.xsd#bld_SeniorNotesDue2029Member" xlink:label="bld_SeniorNotesDue2029Member_638188171261363223" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LongtermDebtTypeDomain_638188171261363223" xlink:to="bld_SeniorNotesDue2029Member_638188171261363223" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="bld-20230331.xsd#bld_SeniorNotesDue2032Member" xlink:label="bld_SeniorNotesDue2032Member_638188171261373222" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LongtermDebtTypeDomain_638188171261363223" xlink:to="bld_SeniorNotesDue2032Member_638188171261373222" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SecuredDebtMember" xlink:label="us-gaap_SecuredDebtMember_638188171261373222" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LongtermDebtTypeDomain_638188171261363223" xlink:to="us-gaap_SecuredDebtMember_638188171261373222" order="3" use="optional" priority="1" />
    <loc xlink:type="locator" xlink:href="bld-20230331.xsd#bld_EquipmentNotesMember" xlink:label="bld_EquipmentNotesMember_638188171261373222" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LongtermDebtTypeDomain_638188171261363223" xlink:to="bld_EquipmentNotesMember_638188171261373222" order="4" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentLineItems" xlink:label="us-gaap_DebtInstrumentLineItems_638188171261373222" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentTable_638188171261363223" xlink:to="us-gaap_DebtInstrumentLineItems_638188171261373222" order="2" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongTermDebtByMaturityAbstract" xlink:label="us-gaap_LongTermDebtByMaturityAbstract_638188171261373222" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems_638188171261373222" xlink:to="us-gaap_LongTermDebtByMaturityAbstract_638188171261373222" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalRemainderOfFiscalYear" xlink:label="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalRemainderOfFiscalYear_638188171261373222" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LongTermDebtByMaturityAbstract_638188171261373222" xlink:to="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalRemainderOfFiscalYear_638188171261373222" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths" xlink:label="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths_638188171261373222" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LongTermDebtByMaturityAbstract_638188171261373222" xlink:to="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths_638188171261373222" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="8" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearTwo" xlink:label="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearTwo_638188171261373222" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LongTermDebtByMaturityAbstract_638188171261373222" xlink:to="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearTwo_638188171261373222" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearThree" xlink:label="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearThree_638188171261373222" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LongTermDebtByMaturityAbstract_638188171261373222" xlink:to="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearThree_638188171261373222" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="bld-20230331.xsd#bld_LongTermDebtMaturitiesRepaymentsOfPrincipalAfterYearFour" xlink:label="bld_LongTermDebtMaturitiesRepaymentsOfPrincipalAfterYearFour_638188171261373222" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LongTermDebtByMaturityAbstract_638188171261373222" xlink:to="bld_LongTermDebtMaturitiesRepaymentsOfPrincipalAfterYearFour_638188171261373222" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentCarryingAmount" xlink:label="us-gaap_DebtInstrumentCarryingAmount_638188171261373222" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LongTermDebtByMaturityAbstract_638188171261373222" xlink:to="us-gaap_DebtInstrumentCarryingAmount_638188171261373222" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" priority="4" />
  </presentationLink>
  <presentationLink xlink:role="http://www.topbuild.com/role/DisclosureLongTermDebtKeyTermsOfCreditAgreementDetails" xlink:type="extended" xlink:title="40503 - Disclosure - Long-Term Debt - Key Terms of Credit Agreement (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtDisclosureAbstract" xlink:label="DebtDisclosureAbstract" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentTable" xlink:label="us-gaap_DebtInstrumentTable_638188171261383222" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="DebtDisclosureAbstract" xlink:to="us-gaap_DebtInstrumentTable_638188171261383222" order="1" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentAxis" xlink:label="us-gaap_DebtInstrumentAxis_638188171261383222" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentTable_638188171261383222" xlink:to="us-gaap_DebtInstrumentAxis_638188171261383222" order="1" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentNameDomain" xlink:label="us-gaap_DebtInstrumentNameDomain_638188171261383222" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentAxis_638188171261383222" xlink:to="us-gaap_DebtInstrumentNameDomain_638188171261383222" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="bld-20230331.xsd#bld_AmendedCreditAgreementDecember2022Member" xlink:label="bld_AmendedCreditAgreementDecember2022Member_638188171261383222" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentNameDomain_638188171261383222" xlink:to="bld_AmendedCreditAgreementDecember2022Member_638188171261383222" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongtermDebtTypeAxis" xlink:label="us-gaap_LongtermDebtTypeAxis_638188171261383222" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentTable_638188171261383222" xlink:to="us-gaap_LongtermDebtTypeAxis_638188171261383222" order="2" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongtermDebtTypeDomain" xlink:label="us-gaap_LongtermDebtTypeDomain_638188171261383222" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LongtermDebtTypeAxis_638188171261383222" xlink:to="us-gaap_LongtermDebtTypeDomain_638188171261383222" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SecuredDebtMember" xlink:label="us-gaap_SecuredDebtMember_638188171261383222" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LongtermDebtTypeDomain_638188171261383222" xlink:to="us-gaap_SecuredDebtMember_638188171261383222" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShortTermDebtTypeAxis" xlink:label="us-gaap_ShortTermDebtTypeAxis_638188171261383222" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentTable_638188171261383222" xlink:to="us-gaap_ShortTermDebtTypeAxis_638188171261383222" order="3" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShortTermDebtTypeDomain" xlink:label="us-gaap_ShortTermDebtTypeDomain_638188171261383222" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShortTermDebtTypeAxis_638188171261383222" xlink:to="us-gaap_ShortTermDebtTypeDomain_638188171261383222" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RevolvingCreditFacilityMember" xlink:label="us-gaap_RevolvingCreditFacilityMember_638188171261383222" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShortTermDebtTypeDomain_638188171261383222" xlink:to="us-gaap_RevolvingCreditFacilityMember_638188171261383222" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CreditFacilityAxis" xlink:label="us-gaap_CreditFacilityAxis_638188171261383222" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentTable_638188171261383222" xlink:to="us-gaap_CreditFacilityAxis_638188171261383222" order="4" use="optional" priority="3" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CreditFacilityDomain" xlink:label="us-gaap_CreditFacilityDomain_638188171261383222" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CreditFacilityAxis_638188171261383222" xlink:to="us-gaap_CreditFacilityDomain_638188171261383222" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="bld-20230331.xsd#bld_BaseRateBorrowingsMember" xlink:label="bld_BaseRateBorrowingsMember_638188171261393222" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CreditFacilityDomain_638188171261383222" xlink:to="bld_BaseRateBorrowingsMember_638188171261393222" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="bld-20230331.xsd#bld_SofrRateBorrowingsMember" xlink:label="bld_SofrRateBorrowingsMember_638188171261393222" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CreditFacilityDomain_638188171261383222" xlink:to="bld_SofrRateBorrowingsMember_638188171261393222" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_VariableRateAxis" xlink:label="us-gaap_VariableRateAxis_638188171261393222" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentTable_638188171261383222" xlink:to="us-gaap_VariableRateAxis_638188171261393222" order="5" use="optional" priority="3" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_VariableRateDomain" xlink:label="us-gaap_VariableRateDomain_638188171261393222" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_VariableRateAxis_638188171261393222" xlink:to="us-gaap_VariableRateDomain_638188171261393222" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="bld-20230331.xsd#bld_FederalFundsRateMember" xlink:label="bld_FederalFundsRateMember_638188171261393222" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_VariableRateDomain_638188171261393222" xlink:to="bld_FederalFundsRateMember_638188171261393222" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SecuredOvernightFinancingRateSofrOvernightIndexSwapRateMember" xlink:label="us-gaap_SecuredOvernightFinancingRateSofrOvernightIndexSwapRateMember_638188171261393222" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_VariableRateDomain_638188171261393222" xlink:to="us-gaap_SecuredOvernightFinancingRateSofrOvernightIndexSwapRateMember_638188171261393222" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_RangeAxis" xlink:label="srt_RangeAxis_638188171261393222" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentTable_638188171261383222" xlink:to="srt_RangeAxis_638188171261393222" order="6" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_RangeMember" xlink:label="srt_RangeMember_638188171261393222" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeAxis_638188171261393222" xlink:to="srt_RangeMember_638188171261393222" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_MinimumMember" xlink:label="srt_MinimumMember_638188171261393222" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeMember_638188171261393222" xlink:to="srt_MinimumMember_638188171261393222" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_MaximumMember" xlink:label="srt_MaximumMember_638188171261393222" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeMember_638188171261393222" xlink:to="srt_MaximumMember_638188171261393222" order="2" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentLineItems" xlink:label="us-gaap_DebtInstrumentLineItems_638188171261393222" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentTable_638188171261383222" xlink:to="us-gaap_DebtInstrumentLineItems_638188171261393222" order="7" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity" xlink:label="us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity_638188171261403221" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems_638188171261393222" xlink:to="us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity_638188171261403221" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="7" />
    <loc xlink:type="locator" xlink:href="bld-20230331.xsd#bld_LineOfCreditFacilityAdditionalBorrowingCapacityDelayedDraw" xlink:label="bld_LineOfCreditFacilityAdditionalBorrowingCapacityDelayedDraw_638188171261403221" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems_638188171261393222" xlink:to="bld_LineOfCreditFacilityAdditionalBorrowingCapacityDelayedDraw_638188171261403221" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="bld-20230331.xsd#bld_LineOfCreditFacilityAdditionalBorrowingCapacityAvailableSubjectToCertainConditions" xlink:label="bld_LineOfCreditFacilityAdditionalBorrowingCapacityAvailableSubjectToCertainConditions_638188171261403221" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems_638188171261393222" xlink:to="bld_LineOfCreditFacilityAdditionalBorrowingCapacityAvailableSubjectToCertainConditions_638188171261403221" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="3" />
    <loc xlink:type="locator" xlink:href="bld-20230331.xsd#bld_LineOfCreditFacilitySublimitAvailableForLettersOfCredit" xlink:label="bld_LineOfCreditFacilitySublimitAvailableForLettersOfCredit_638188171261403221" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems_638188171261393222" xlink:to="bld_LineOfCreditFacilitySublimitAvailableForLettersOfCredit_638188171261403221" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="3" />
    <loc xlink:type="locator" xlink:href="bld-20230331.xsd#bld_LineOfCreditFacilitySublimitAvailableForSwinglineLoans" xlink:label="bld_LineOfCreditFacilitySublimitAvailableForSwinglineLoans_638188171261403221" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems_638188171261393222" xlink:to="bld_LineOfCreditFacilitySublimitAvailableForSwinglineLoans_638188171261403221" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="3" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentInterestRateEffectivePercentage" xlink:label="us-gaap_DebtInstrumentInterestRateEffectivePercentage_638188171261403221" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems_638188171261393222" xlink:to="us-gaap_DebtInstrumentInterestRateEffectivePercentage_638188171261403221" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="7" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentMaturityDate" xlink:label="us-gaap_DebtInstrumentMaturityDate_638188171261403221" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems_638188171261393222" xlink:to="us-gaap_DebtInstrumentMaturityDate_638188171261403221" order="7" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="5" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentBasisSpreadOnVariableRate1" xlink:label="us-gaap_DebtInstrumentBasisSpreadOnVariableRate1_638188171261403221" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems_638188171261393222" xlink:to="us-gaap_DebtInstrumentBasisSpreadOnVariableRate1_638188171261403221" order="8" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="6" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentInterestRateStatedPercentage" xlink:label="us-gaap_DebtInstrumentInterestRateStatedPercentage_638188171261413222" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems_638188171261393222" xlink:to="us-gaap_DebtInstrumentInterestRateStatedPercentage_638188171261413222" order="9" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="5" />
    <loc xlink:type="locator" xlink:href="bld-20230331.xsd#bld_DebtInstrumentRedemptionPriceBasisSpreadOnTreasuryRate" xlink:label="bld_DebtInstrumentRedemptionPriceBasisSpreadOnTreasuryRate_638188171261413222" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems_638188171261393222" xlink:to="bld_DebtInstrumentRedemptionPriceBasisSpreadOnTreasuryRate_638188171261413222" order="10" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="bld-20230331.xsd#bld_DebtInstrumentReferenceRateMaturityPeriod" xlink:label="bld_DebtInstrumentReferenceRateMaturityPeriod_638188171261413222" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems_638188171261393222" xlink:to="bld_DebtInstrumentReferenceRateMaturityPeriod_638188171261413222" order="11" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentRedemptionPricePercentage" xlink:label="us-gaap_DebtInstrumentRedemptionPricePercentage_638188171261413222" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems_638188171261393222" xlink:to="us-gaap_DebtInstrumentRedemptionPricePercentage_638188171261413222" order="12" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="5" />
    <loc xlink:type="locator" xlink:href="bld-20230331.xsd#bld_DebtInstrumentInterestRatePercentageFloor" xlink:label="bld_DebtInstrumentInterestRatePercentageFloor_638188171261413222" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems_638188171261393222" xlink:to="bld_DebtInstrumentInterestRatePercentageFloor_638188171261413222" order="13" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="bld-20230331.xsd#bld_DebitInstrumentApplicableMarginBasedOnTotalLeverageRatio" xlink:label="bld_DebitInstrumentApplicableMarginBasedOnTotalLeverageRatio_638188171261413222" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems_638188171261393222" xlink:to="bld_DebitInstrumentApplicableMarginBasedOnTotalLeverageRatio_638188171261413222" order="14" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="5" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage" xlink:label="us-gaap_LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage_638188171261413222" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems_638188171261393222" xlink:to="us-gaap_LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage_638188171261413222" order="15" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentFaceAmount" xlink:label="us-gaap_DebtInstrumentFaceAmount_638188171261413222" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems_638188171261393222" xlink:to="us-gaap_DebtInstrumentFaceAmount_638188171261413222" order="16" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="3" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentRedemptionPricePercentageOfPrincipalAmountRedeemed" xlink:label="us-gaap_DebtInstrumentRedemptionPricePercentageOfPrincipalAmountRedeemed_638188171261423223" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems_638188171261393222" xlink:to="us-gaap_DebtInstrumentRedemptionPricePercentageOfPrincipalAmountRedeemed_638188171261423223" order="17" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentTerm" xlink:label="us-gaap_DebtInstrumentTerm_638188171261423223" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems_638188171261393222" xlink:to="us-gaap_DebtInstrumentTerm_638188171261423223" order="18" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="bld-20230331.xsd#bld_DebtInstrumentConditionalRedemptionThresholdPercentageOfAggregatePrincipalAmountOriginallyIssuedRemainsOutstanding" xlink:label="bld_DebtInstrumentConditionalRedemptionThresholdPercentageOfAggregatePrincipalAmountOriginallyIssuedRemainsOutstanding_638188171261423223" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems_638188171261393222" xlink:to="bld_DebtInstrumentConditionalRedemptionThresholdPercentageOfAggregatePrincipalAmountOriginallyIssuedRemainsOutstanding_638188171261423223" order="19" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="3" />
  </presentationLink>
  <presentationLink xlink:role="http://www.topbuild.com/role/DisclosureLongTermDebtRevolvingFacilityDetails" xlink:type="extended" xlink:title="40504 - Disclosure - Long-Term Debt - Revolving Facility (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtDisclosureAbstract" xlink:label="us-gaap_DebtDisclosureAbstract_636056061779827168_1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LineOfCreditFacilityTable" xlink:label="us-gaap_LineOfCreditFacilityTable_638188171261423223" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtDisclosureAbstract_636056061779827168_1" xlink:to="us-gaap_LineOfCreditFacilityTable_638188171261423223" order="1" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShortTermDebtTypeAxis" xlink:label="us-gaap_ShortTermDebtTypeAxis_638188171261423223" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LineOfCreditFacilityTable_638188171261423223" xlink:to="us-gaap_ShortTermDebtTypeAxis_638188171261423223" order="1" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShortTermDebtTypeDomain" xlink:label="us-gaap_ShortTermDebtTypeDomain_638188171261423223" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShortTermDebtTypeAxis_638188171261423223" xlink:to="us-gaap_ShortTermDebtTypeDomain_638188171261423223" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RevolvingCreditFacilityMember" xlink:label="us-gaap_RevolvingCreditFacilityMember_638188171261433223" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShortTermDebtTypeDomain_638188171261423223" xlink:to="us-gaap_RevolvingCreditFacilityMember_638188171261433223" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_RangeAxis" xlink:label="srt_RangeAxis_638188171261433223" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LineOfCreditFacilityTable_638188171261423223" xlink:to="srt_RangeAxis_638188171261433223" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_RangeMember" xlink:label="srt_RangeMember_638188171261433223" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeAxis_638188171261433223" xlink:to="srt_RangeMember_638188171261433223" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_MinimumMember" xlink:label="srt_MinimumMember_638188171261433223" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeMember_638188171261433223" xlink:to="srt_MinimumMember_638188171261433223" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_MaximumMember" xlink:label="srt_MaximumMember_638188171261433223" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeMember_638188171261433223" xlink:to="srt_MaximumMember_638188171261433223" order="2" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_StatementScenarioAxis" xlink:label="srt_StatementScenarioAxis_638188171261433223" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LineOfCreditFacilityTable_638188171261423223" xlink:to="srt_StatementScenarioAxis_638188171261433223" order="3" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ScenarioUnspecifiedDomain" xlink:label="srt_ScenarioUnspecifiedDomain_638188171261433223" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_StatementScenarioAxis_638188171261433223" xlink:to="srt_ScenarioUnspecifiedDomain_638188171261433223" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="bld-20230331.xsd#bld_EventOfDefaultScenarioMember" xlink:label="bld_EventOfDefaultScenarioMember_638188171261433223" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ScenarioUnspecifiedDomain_638188171261433223" xlink:to="bld_EventOfDefaultScenarioMember_638188171261433223" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentLineItems" xlink:label="us-gaap_DebtInstrumentLineItems_638188171261433223" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LineOfCreditFacilityTable_638188171261423223" xlink:to="us-gaap_DebtInstrumentLineItems_638188171261433223" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity" xlink:label="us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity_638188171261433223" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems_638188171261433223" xlink:to="us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity_638188171261433223" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" priority="9" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LettersOfCreditOutstandingAmount" xlink:label="us-gaap_LettersOfCreditOutstandingAmount_638188171261433223" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems_638188171261433223" xlink:to="us-gaap_LettersOfCreditOutstandingAmount_638188171261433223" order="2" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LineOfCreditFacilityCurrentBorrowingCapacity" xlink:label="us-gaap_LineOfCreditFacilityCurrentBorrowingCapacity_638188171261433223" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems_638188171261433223" xlink:to="us-gaap_LineOfCreditFacilityCurrentBorrowingCapacity_638188171261433223" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="8" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage" xlink:label="us-gaap_LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage_638188171261433223" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems_638188171261433223" xlink:to="us-gaap_LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage_638188171261433223" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongTermDebtOtherDisclosuresAbstract" xlink:label="us-gaap_LongTermDebtOtherDisclosuresAbstract_638188171261443225" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems_638188171261433223" xlink:to="us-gaap_LongTermDebtOtherDisclosuresAbstract_638188171261443225" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="bld-20230331.xsd#bld_MinimumPercentageOfDebtImmediatelyDueAndPayable" xlink:label="bld_MinimumPercentageOfDebtImmediatelyDueAndPayable_638188171261443225" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LongTermDebtOtherDisclosuresAbstract_638188171261443225" xlink:to="bld_MinimumPercentageOfDebtImmediatelyDueAndPayable_638188171261443225" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentInterestRateStatedPercentage" xlink:label="us-gaap_DebtInstrumentInterestRateStatedPercentage_638188171261443225" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LongTermDebtOtherDisclosuresAbstract_638188171261443225" xlink:to="us-gaap_DebtInstrumentInterestRateStatedPercentage_638188171261443225" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="6" />
  </presentationLink>
  <presentationLink xlink:role="http://www.topbuild.com/role/DisclosureLongTermDebtSeniorNotesAndEquipmentNotesDetails" xlink:type="extended" xlink:title="40505 - Disclosure - Long-Term Debt - Senior Notes and Equipment Notes (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtDisclosureAbstract" xlink:label="DebtDisclosureAbstract_1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentTable" xlink:label="us-gaap_DebtInstrumentTable_638188171261443225" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="DebtDisclosureAbstract_1" xlink:to="us-gaap_DebtInstrumentTable_638188171261443225" order="1" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentAxis" xlink:label="us-gaap_DebtInstrumentAxis_638188171261443225" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentTable_638188171261443225" xlink:to="us-gaap_DebtInstrumentAxis_638188171261443225" order="1" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentNameDomain" xlink:label="us-gaap_DebtInstrumentNameDomain_638188171261443225" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentAxis_638188171261443225" xlink:to="us-gaap_DebtInstrumentNameDomain_638188171261443225" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="bld-20230331.xsd#bld_SeniorNotesDue2029Member" xlink:label="bld_SeniorNotesDue2029Member_638188171261443225" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentNameDomain_638188171261443225" xlink:to="bld_SeniorNotesDue2029Member_638188171261443225" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="bld-20230331.xsd#bld_SeniorNotesDue2032Member" xlink:label="bld_SeniorNotesDue2032Member_638188171261443225" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentNameDomain_638188171261443225" xlink:to="bld_SeniorNotesDue2032Member_638188171261443225" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongtermDebtTypeAxis" xlink:label="us-gaap_LongtermDebtTypeAxis_638188171261443225" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentTable_638188171261443225" xlink:to="us-gaap_LongtermDebtTypeAxis_638188171261443225" order="2" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongtermDebtTypeDomain" xlink:label="us-gaap_LongtermDebtTypeDomain_638188171261453223" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LongtermDebtTypeAxis_638188171261443225" xlink:to="us-gaap_LongtermDebtTypeDomain_638188171261453223" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SecuredDebtMember" xlink:label="us-gaap_SecuredDebtMember_638188171261453223" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LongtermDebtTypeDomain_638188171261453223" xlink:to="us-gaap_SecuredDebtMember_638188171261453223" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="bld-20230331.xsd#bld_EquipmentNotesMember" xlink:label="bld_EquipmentNotesMember_638188171261453223" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LongtermDebtTypeDomain_638188171261453223" xlink:to="bld_EquipmentNotesMember_638188171261453223" order="2" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_StatementScenarioAxis" xlink:label="srt_StatementScenarioAxis_638188171261453223" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentTable_638188171261443225" xlink:to="srt_StatementScenarioAxis_638188171261453223" order="3" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ScenarioUnspecifiedDomain" xlink:label="srt_ScenarioUnspecifiedDomain_638188171261453223" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_StatementScenarioAxis_638188171261453223" xlink:to="srt_ScenarioUnspecifiedDomain_638188171261453223" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="bld-20230331.xsd#bld_ChangeInControlScenarioMember" xlink:label="bld_ChangeInControlScenarioMember_638188171261453223" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ScenarioUnspecifiedDomain_638188171261453223" xlink:to="bld_ChangeInControlScenarioMember_638188171261453223" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="bld-20230331.xsd#bld_DebtInstrumentRedemptionOptionOneMember" xlink:label="bld_DebtInstrumentRedemptionOptionOneMember_638188171261453223" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ScenarioUnspecifiedDomain_638188171261453223" xlink:to="bld_DebtInstrumentRedemptionOptionOneMember_638188171261453223" order="2" use="optional" />
    <loc xlink:type="locator" xlink:href="bld-20230331.xsd#bld_DebtInstrumentRedemptionOptionTwoMember" xlink:label="bld_DebtInstrumentRedemptionOptionTwoMember_638188171261453223" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ScenarioUnspecifiedDomain_638188171261453223" xlink:to="bld_DebtInstrumentRedemptionOptionTwoMember_638188171261453223" order="3" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_RangeAxis" xlink:label="srt_RangeAxis_638188171261453223" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentTable_638188171261443225" xlink:to="srt_RangeAxis_638188171261453223" order="4" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_RangeMember" xlink:label="srt_RangeMember_638188171261453223" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeAxis_638188171261453223" xlink:to="srt_RangeMember_638188171261453223" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_MinimumMember" xlink:label="srt_MinimumMember_638188171261453223" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeMember_638188171261453223" xlink:to="srt_MinimumMember_638188171261453223" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_MaximumMember" xlink:label="srt_MaximumMember_638188171261453223" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeMember_638188171261453223" xlink:to="srt_MaximumMember_638188171261453223" order="2" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentRedemptionPeriodAxis" xlink:label="us-gaap_DebtInstrumentRedemptionPeriodAxis_638188171261463230" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentTable_638188171261443225" xlink:to="us-gaap_DebtInstrumentRedemptionPeriodAxis_638188171261463230" order="5" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentRedemptionPeriodDomain" xlink:label="us-gaap_DebtInstrumentRedemptionPeriodDomain_638188171261463230" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentRedemptionPeriodAxis_638188171261463230" xlink:to="us-gaap_DebtInstrumentRedemptionPeriodDomain_638188171261463230" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentRedemptionPeriodOneMember" xlink:label="us-gaap_DebtInstrumentRedemptionPeriodOneMember_638188171261463230" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentRedemptionPeriodDomain_638188171261463230" xlink:to="us-gaap_DebtInstrumentRedemptionPeriodOneMember_638188171261463230" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentRedemptionPeriodTwoMember" xlink:label="us-gaap_DebtInstrumentRedemptionPeriodTwoMember_638188171261463230" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentRedemptionPeriodDomain_638188171261463230" xlink:to="us-gaap_DebtInstrumentRedemptionPeriodTwoMember_638188171261463230" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentRedemptionPeriodThreeMember" xlink:label="us-gaap_DebtInstrumentRedemptionPeriodThreeMember_638188171261463230" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentRedemptionPeriodDomain_638188171261463230" xlink:to="us-gaap_DebtInstrumentRedemptionPeriodThreeMember_638188171261463230" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentRedemptionPeriodFourMember" xlink:label="us-gaap_DebtInstrumentRedemptionPeriodFourMember_638188171261463230" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentRedemptionPeriodDomain_638188171261463230" xlink:to="us-gaap_DebtInstrumentRedemptionPeriodFourMember_638188171261463230" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentRedemptionPeriodFiveMember" xlink:label="us-gaap_DebtInstrumentRedemptionPeriodFiveMember_638188171261463230" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentRedemptionPeriodDomain_638188171261463230" xlink:to="us-gaap_DebtInstrumentRedemptionPeriodFiveMember_638188171261463230" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="bld-20230331.xsd#bld_DebtInstrumentRedemptionPeriodSixMember" xlink:label="bld_DebtInstrumentRedemptionPeriodSixMember_638188171261463230" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentRedemptionPeriodDomain_638188171261463230" xlink:to="bld_DebtInstrumentRedemptionPeriodSixMember_638188171261463230" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="bld-20230331.xsd#bld_DebtInstrumentRedemptionPeriodSevenMember" xlink:label="bld_DebtInstrumentRedemptionPeriodSevenMember_638188171261463230" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentRedemptionPeriodDomain_638188171261463230" xlink:to="bld_DebtInstrumentRedemptionPeriodSevenMember_638188171261463230" order="7" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentLineItems" xlink:label="us-gaap_DebtInstrumentLineItems_638188171261463230" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentTable_638188171261443225" xlink:to="us-gaap_DebtInstrumentLineItems_638188171261463230" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity" xlink:label="us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity_638188171261473224" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems_638188171261463230" xlink:to="us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity_638188171261473224" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="7" />
    <loc xlink:type="locator" xlink:href="bld-20230331.xsd#bld_LineOfCreditFacilityAdditionalBorrowingCapacityDelayedDraw" xlink:label="bld_LineOfCreditFacilityAdditionalBorrowingCapacityDelayedDraw_638188171261473224" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems_638188171261463230" xlink:to="bld_LineOfCreditFacilityAdditionalBorrowingCapacityDelayedDraw_638188171261473224" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="bld-20230331.xsd#bld_LineOfCreditFacilityAdditionalBorrowingCapacityAvailableSubjectToCertainConditions" xlink:label="bld_LineOfCreditFacilityAdditionalBorrowingCapacityAvailableSubjectToCertainConditions_638188171261473224" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems_638188171261463230" xlink:to="bld_LineOfCreditFacilityAdditionalBorrowingCapacityAvailableSubjectToCertainConditions_638188171261473224" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="3" />
    <loc xlink:type="locator" xlink:href="bld-20230331.xsd#bld_LineOfCreditFacilitySublimitAvailableForLettersOfCredit" xlink:label="bld_LineOfCreditFacilitySublimitAvailableForLettersOfCredit_638188171261473224" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems_638188171261463230" xlink:to="bld_LineOfCreditFacilitySublimitAvailableForLettersOfCredit_638188171261473224" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="3" />
    <loc xlink:type="locator" xlink:href="bld-20230331.xsd#bld_LineOfCreditFacilitySublimitAvailableForSwinglineLoans" xlink:label="bld_LineOfCreditFacilitySublimitAvailableForSwinglineLoans_638188171261473224" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems_638188171261463230" xlink:to="bld_LineOfCreditFacilitySublimitAvailableForSwinglineLoans_638188171261473224" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="3" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentInterestRateEffectivePercentage" xlink:label="us-gaap_DebtInstrumentInterestRateEffectivePercentage_638188171261473224" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems_638188171261463230" xlink:to="us-gaap_DebtInstrumentInterestRateEffectivePercentage_638188171261473224" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="7" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentMaturityDate" xlink:label="us-gaap_DebtInstrumentMaturityDate_638188171261473224" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems_638188171261463230" xlink:to="us-gaap_DebtInstrumentMaturityDate_638188171261473224" order="7" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="5" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentBasisSpreadOnVariableRate1" xlink:label="us-gaap_DebtInstrumentBasisSpreadOnVariableRate1_638188171261473224" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems_638188171261463230" xlink:to="us-gaap_DebtInstrumentBasisSpreadOnVariableRate1_638188171261473224" order="8" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="6" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentInterestRateStatedPercentage" xlink:label="us-gaap_DebtInstrumentInterestRateStatedPercentage_638188171261483225" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems_638188171261463230" xlink:to="us-gaap_DebtInstrumentInterestRateStatedPercentage_638188171261483225" order="9" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="5" />
    <loc xlink:type="locator" xlink:href="bld-20230331.xsd#bld_DebtInstrumentRedemptionPriceBasisSpreadOnTreasuryRate" xlink:label="bld_DebtInstrumentRedemptionPriceBasisSpreadOnTreasuryRate_638188171261483225" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems_638188171261463230" xlink:to="bld_DebtInstrumentRedemptionPriceBasisSpreadOnTreasuryRate_638188171261483225" order="10" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="bld-20230331.xsd#bld_DebtInstrumentReferenceRateMaturityPeriod" xlink:label="bld_DebtInstrumentReferenceRateMaturityPeriod_638188171261483225" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems_638188171261463230" xlink:to="bld_DebtInstrumentReferenceRateMaturityPeriod_638188171261483225" order="11" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentRedemptionPricePercentage" xlink:label="us-gaap_DebtInstrumentRedemptionPricePercentage_638188171261483225" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems_638188171261463230" xlink:to="us-gaap_DebtInstrumentRedemptionPricePercentage_638188171261483225" order="12" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="5" />
    <loc xlink:type="locator" xlink:href="bld-20230331.xsd#bld_DebtInstrumentInterestRatePercentageFloor" xlink:label="bld_DebtInstrumentInterestRatePercentageFloor_638188171261483225" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems_638188171261463230" xlink:to="bld_DebtInstrumentInterestRatePercentageFloor_638188171261483225" order="13" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="bld-20230331.xsd#bld_DebitInstrumentApplicableMarginBasedOnTotalLeverageRatio" xlink:label="bld_DebitInstrumentApplicableMarginBasedOnTotalLeverageRatio_638188171261483225" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems_638188171261463230" xlink:to="bld_DebitInstrumentApplicableMarginBasedOnTotalLeverageRatio_638188171261483225" order="14" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="5" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage" xlink:label="us-gaap_LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage_638188171261483225" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems_638188171261463230" xlink:to="us-gaap_LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage_638188171261483225" order="15" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentFaceAmount" xlink:label="us-gaap_DebtInstrumentFaceAmount_638188171261493223" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems_638188171261463230" xlink:to="us-gaap_DebtInstrumentFaceAmount_638188171261493223" order="16" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="3" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentRedemptionPricePercentageOfPrincipalAmountRedeemed" xlink:label="us-gaap_DebtInstrumentRedemptionPricePercentageOfPrincipalAmountRedeemed_638188171261493223" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems_638188171261463230" xlink:to="us-gaap_DebtInstrumentRedemptionPricePercentageOfPrincipalAmountRedeemed_638188171261493223" order="17" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongTermDebt" xlink:label="us-gaap_LongTermDebt_638188171261493223" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems_638188171261463230" xlink:to="us-gaap_LongTermDebt_638188171261493223" order="18" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentTerm" xlink:label="us-gaap_DebtInstrumentTerm_638188171261493223" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems_638188171261463230" xlink:to="us-gaap_DebtInstrumentTerm_638188171261493223" order="19" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="bld-20230331.xsd#bld_DebtInstrumentConditionalRedemptionThresholdPercentageOfAggregatePrincipalAmountOriginallyIssuedRemainsOutstanding" xlink:label="bld_DebtInstrumentConditionalRedemptionThresholdPercentageOfAggregatePrincipalAmountOriginallyIssuedRemainsOutstanding_638188171261493223" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems_638188171261463230" xlink:to="bld_DebtInstrumentConditionalRedemptionThresholdPercentageOfAggregatePrincipalAmountOriginallyIssuedRemainsOutstanding_638188171261493223" order="20" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="3" />
  </presentationLink>
  <presentationLink xlink:role="http://www.topbuild.com/role/DisclosureLongTermDebtOtherDetails" xlink:type="extended" xlink:title="40506 - Disclosure - Long-Term Debt - Other (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtDisclosureAbstract" xlink:label="us-gaap_DebtDisclosureAbstract_636056061779827168" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LineOfCreditFacilityTable" xlink:label="us-gaap_LineOfCreditFacilityTable_638188171261503225" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtDisclosureAbstract_636056061779827168" xlink:to="us-gaap_LineOfCreditFacilityTable_638188171261503225" order="1" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentAxis" xlink:label="us-gaap_DebtInstrumentAxis_638188171261503225" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LineOfCreditFacilityTable_638188171261503225" xlink:to="us-gaap_DebtInstrumentAxis_638188171261503225" order="1" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentNameDomain" xlink:label="us-gaap_DebtInstrumentNameDomain_638188171261503225" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentAxis_638188171261503225" xlink:to="us-gaap_DebtInstrumentNameDomain_638188171261503225" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="bld-20230331.xsd#bld_SeniorNotesDue2029Member" xlink:label="bld_SeniorNotesDue2029Member_638188171261503225" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentNameDomain_638188171261503225" xlink:to="bld_SeniorNotesDue2029Member_638188171261503225" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="bld-20230331.xsd#bld_SeniorNotesDue2032Member" xlink:label="bld_SeniorNotesDue2032Member_638188171261503225" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentNameDomain_638188171261503225" xlink:to="bld_SeniorNotesDue2032Member_638188171261503225" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongtermDebtTypeAxis" xlink:label="us-gaap_LongtermDebtTypeAxis_638188171261503225" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LineOfCreditFacilityTable_638188171261503225" xlink:to="us-gaap_LongtermDebtTypeAxis_638188171261503225" order="2" use="optional" priority="3" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongtermDebtTypeDomain" xlink:label="us-gaap_LongtermDebtTypeDomain_638188171261503225" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LongtermDebtTypeAxis_638188171261503225" xlink:to="us-gaap_LongtermDebtTypeDomain_638188171261503225" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SeniorNotesMember" xlink:label="us-gaap_SeniorNotesMember_638188171261503225" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LongtermDebtTypeDomain_638188171261503225" xlink:to="us-gaap_SeniorNotesMember_638188171261503225" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_StatementScenarioAxis" xlink:label="srt_StatementScenarioAxis_638188171261503225" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LineOfCreditFacilityTable_638188171261503225" xlink:to="srt_StatementScenarioAxis_638188171261503225" order="3" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ScenarioUnspecifiedDomain" xlink:label="srt_ScenarioUnspecifiedDomain_638188171261503225" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_StatementScenarioAxis_638188171261503225" xlink:to="srt_ScenarioUnspecifiedDomain_638188171261503225" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="bld-20230331.xsd#bld_EventOfDefaultScenarioMember" xlink:label="bld_EventOfDefaultScenarioMember_638188171261503225" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ScenarioUnspecifiedDomain_638188171261503225" xlink:to="bld_EventOfDefaultScenarioMember_638188171261503225" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentLineItems" xlink:label="us-gaap_DebtInstrumentLineItems_638188171261513223" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LineOfCreditFacilityTable_638188171261503225" xlink:to="us-gaap_DebtInstrumentLineItems_638188171261513223" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongTermDebtOtherDisclosuresAbstract" xlink:label="us-gaap_LongTermDebtOtherDisclosuresAbstract_638188171261513223" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems_638188171261513223" xlink:to="us-gaap_LongTermDebtOtherDisclosuresAbstract_638188171261513223" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="bld-20230331.xsd#bld_MinimumPercentageOfDebtImmediatelyDueAndPayable" xlink:label="bld_MinimumPercentageOfDebtImmediatelyDueAndPayable_638188171261513223" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LongTermDebtOtherDisclosuresAbstract_638188171261513223" xlink:to="bld_MinimumPercentageOfDebtImmediatelyDueAndPayable_638188171261513223" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" />
    <loc xlink:type="locator" xlink:href="bld-20230331.xsd#bld_DebtInstrumentCovenantNetLeverageRatio" xlink:label="bld_DebtInstrumentCovenantNetLeverageRatio_638188171261513223" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LongTermDebtOtherDisclosuresAbstract_638188171261513223" xlink:to="bld_DebtInstrumentCovenantNetLeverageRatio_638188171261513223" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="6" />
    <loc xlink:type="locator" xlink:href="bld-20230331.xsd#bld_DebtInstrumentCovenantMinimumInterestCoverageRatio" xlink:label="bld_DebtInstrumentCovenantMinimumInterestCoverageRatio_638188171261513223" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LongTermDebtOtherDisclosuresAbstract_638188171261513223" xlink:to="bld_DebtInstrumentCovenantMinimumInterestCoverageRatio_638188171261513223" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentInterestRateStatedPercentage" xlink:label="us-gaap_DebtInstrumentInterestRateStatedPercentage_638188171261513223" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LongTermDebtOtherDisclosuresAbstract_638188171261513223" xlink:to="us-gaap_DebtInstrumentInterestRateStatedPercentage_638188171261513223" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="6" />
  </presentationLink>
  <presentationLink xlink:role="http://www.topbuild.com/role/DisclosureFairValueMeasurementsDetails" xlink:type="extended" xlink:title="40601 - Disclosure - Fair Value Measurements (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueDisclosuresAbstract" xlink:label="FairValueDisclosuresAbstract" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable" xlink:label="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable_638188171261513223" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="FairValueDisclosuresAbstract" xlink:to="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable_638188171261513223" order="1" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentAxis" xlink:label="us-gaap_DebtInstrumentAxis_638188171261513223" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable_638188171261513223" xlink:to="us-gaap_DebtInstrumentAxis_638188171261513223" order="1" use="optional" priority="5" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentNameDomain" xlink:label="us-gaap_DebtInstrumentNameDomain_638188171261513223" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentAxis_638188171261513223" xlink:to="us-gaap_DebtInstrumentNameDomain_638188171261513223" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="bld-20230331.xsd#bld_SeniorNotesDue2029Member" xlink:label="bld_SeniorNotesDue2029Member_638188171261523222" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentNameDomain_638188171261513223" xlink:to="bld_SeniorNotesDue2029Member_638188171261523222" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="bld-20230331.xsd#bld_SeniorNotesDue2032Member" xlink:label="bld_SeniorNotesDue2032Member_638188171261523222" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentNameDomain_638188171261513223" xlink:to="bld_SeniorNotesDue2032Member_638188171261523222" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueByMeasurementFrequencyAxis" xlink:label="us-gaap_FairValueByMeasurementFrequencyAxis_638188171261523222" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable_638188171261513223" xlink:to="us-gaap_FairValueByMeasurementFrequencyAxis_638188171261523222" order="2" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueMeasurementFrequencyDomain" xlink:label="us-gaap_FairValueMeasurementFrequencyDomain_638188171261523222" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FairValueByMeasurementFrequencyAxis_638188171261523222" xlink:to="us-gaap_FairValueMeasurementFrequencyDomain_638188171261523222" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueMeasurementsNonrecurringMember" xlink:label="us-gaap_FairValueMeasurementsNonrecurringMember_638188171261523222" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FairValueMeasurementFrequencyDomain_638188171261523222" xlink:to="us-gaap_FairValueMeasurementsNonrecurringMember_638188171261523222" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueByFairValueHierarchyLevelAxis" xlink:label="us-gaap_FairValueByFairValueHierarchyLevelAxis_638188171261523222" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable_638188171261513223" xlink:to="us-gaap_FairValueByFairValueHierarchyLevelAxis_638188171261523222" order="3" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueMeasurementsFairValueHierarchyDomain" xlink:label="us-gaap_FairValueMeasurementsFairValueHierarchyDomain_638188171261523222" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FairValueByFairValueHierarchyLevelAxis_638188171261523222" xlink:to="us-gaap_FairValueMeasurementsFairValueHierarchyDomain_638188171261523222" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueInputsLevel1Member" xlink:label="us-gaap_FairValueInputsLevel1Member_638188171261523222" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FairValueMeasurementsFairValueHierarchyDomain_638188171261523222" xlink:to="us-gaap_FairValueInputsLevel1Member_638188171261523222" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems" xlink:label="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems_638188171261523222" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable_638188171261513223" xlink:to="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems_638188171261523222" order="4" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueInputsQuantitativeInformationAbstract" xlink:label="us-gaap_FairValueInputsQuantitativeInformationAbstract_638188171261523222" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems_638188171261523222" xlink:to="us-gaap_FairValueInputsQuantitativeInformationAbstract_638188171261523222" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="3" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentInterestRateStatedPercentage" xlink:label="us-gaap_DebtInstrumentInterestRateStatedPercentage_638188171261523222" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FairValueInputsQuantitativeInformationAbstract_638188171261523222" xlink:to="us-gaap_DebtInstrumentInterestRateStatedPercentage_638188171261523222" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="6" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentFairValue" xlink:label="us-gaap_DebtInstrumentFairValue_638188171261523222" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FairValueInputsQuantitativeInformationAbstract_638188171261523222" xlink:to="us-gaap_DebtInstrumentFairValue_638188171261523222" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentCarryingAmount" xlink:label="us-gaap_DebtInstrumentCarryingAmount_638188171261523222" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FairValueInputsQuantitativeInformationAbstract_638188171261523222" xlink:to="us-gaap_DebtInstrumentCarryingAmount_638188171261523222" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="6" />
  </presentationLink>
  <presentationLink xlink:role="http://www.topbuild.com/role/DisclosureSegmentInformationDetails" xlink:type="extended" xlink:title="40701 - Disclosure - Segment Information (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SegmentReportingAbstract" xlink:label="SegmentReportingAbstract" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable" xlink:label="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable_638188171261533223" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="SegmentReportingAbstract" xlink:to="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable_638188171261533223" order="1" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ConsolidationItemsAxis" xlink:label="srt_ConsolidationItemsAxis_638188171261533223" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable_638188171261533223" xlink:to="srt_ConsolidationItemsAxis_638188171261533223" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ConsolidationItemsDomain" xlink:label="srt_ConsolidationItemsDomain_638188171261533223" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ConsolidationItemsAxis_638188171261533223" xlink:to="srt_ConsolidationItemsDomain_638188171261533223" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingSegmentsMember" xlink:label="us-gaap_OperatingSegmentsMember_638188171261533223" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ConsolidationItemsDomain_638188171261533223" xlink:to="us-gaap_OperatingSegmentsMember_638188171261533223" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="bld-20230331.xsd#bld_EliminationsAndReconcilingItemsMember" xlink:label="bld_EliminationsAndReconcilingItemsMember_638188171261533223" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ConsolidationItemsDomain_638188171261533223" xlink:to="bld_EliminationsAndReconcilingItemsMember_638188171261533223" order="2" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IntersegmentEliminationMember" xlink:label="us-gaap_IntersegmentEliminationMember_638188171261533223" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="bld_EliminationsAndReconcilingItemsMember_638188171261533223" xlink:to="us-gaap_IntersegmentEliminationMember_638188171261533223" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CorporateNonSegmentMember" xlink:label="us-gaap_CorporateNonSegmentMember_638188171261533223" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ConsolidationItemsDomain_638188171261533223" xlink:to="us-gaap_CorporateNonSegmentMember_638188171261533223" order="3" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementBusinessSegmentsAxis" xlink:label="us-gaap_StatementBusinessSegmentsAxis_638188171261533223" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable_638188171261533223" xlink:to="us-gaap_StatementBusinessSegmentsAxis_638188171261533223" order="2" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SegmentDomain" xlink:label="us-gaap_SegmentDomain_638188171261533223" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementBusinessSegmentsAxis_638188171261533223" xlink:to="us-gaap_SegmentDomain_638188171261533223" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="bld-20230331.xsd#bld_InstallationSegmentMember" xlink:label="bld_InstallationSegmentMember_638188171261533223" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SegmentDomain_638188171261533223" xlink:to="bld_InstallationSegmentMember_638188171261533223" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="bld-20230331.xsd#bld_DistributionSegmentMember" xlink:label="bld_DistributionSegmentMember_638188171261533223" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SegmentDomain_638188171261533223" xlink:to="bld_DistributionSegmentMember_638188171261533223" order="2" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SegmentReportingInformationLineItems" xlink:label="us-gaap_SegmentReportingInformationLineItems_638188171261543226" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable_638188171261533223" xlink:to="us-gaap_SegmentReportingInformationLineItems_638188171261543226" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" xlink:label="us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax_638188171261543226" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SegmentReportingInformationLineItems_638188171261543226" xlink:to="us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax_638188171261543226" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="3" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingIncomeLoss" xlink:label="us-gaap_OperatingIncomeLoss_638188171261543226" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SegmentReportingInformationLineItems_638188171261543226" xlink:to="us-gaap_OperatingIncomeLoss_638188171261543226" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="7" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingExpenses" xlink:label="us-gaap_OperatingExpenses_638188171261543226" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SegmentReportingInformationLineItems_638188171261543226" xlink:to="us-gaap_OperatingExpenses_638188171261543226" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="5" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NonoperatingIncomeExpense" xlink:label="us-gaap_NonoperatingIncomeExpense_638188171261543226" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SegmentReportingInformationLineItems_638188171261543226" xlink:to="us-gaap_NonoperatingIncomeExpense_638188171261543226" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="6" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_638188171261543226" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SegmentReportingInformationLineItems_638188171261543226" xlink:to="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_638188171261543226" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" priority="8" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_Assets" xlink:label="us-gaap_Assets_638188171261543226" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SegmentReportingInformationLineItems_638188171261543226" xlink:to="us-gaap_Assets_638188171261543226" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
  </presentationLink>
  <presentationLink xlink:role="http://www.topbuild.com/role/DisclosureIncomeTaxesDetails" xlink:type="extended" xlink:title="40801 - Disclosure - Income Taxes (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeTaxDisclosureAbstract" xlink:label="us-gaap_IncomeTaxDisclosureAbstract_636295841675201075" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EffectiveIncomeTaxRateContinuingOperations" xlink:label="us-gaap_EffectiveIncomeTaxRateContinuingOperations_638188171261543226" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxDisclosureAbstract_636295841675201075" xlink:to="us-gaap_EffectiveIncomeTaxRateContinuingOperations_638188171261543226" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense" xlink:label="us-gaap_EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense_638188171261553227" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxDisclosureAbstract_636295841675201075" xlink:to="us-gaap_EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense_638188171261553227" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredTaxLiabilities" xlink:label="us-gaap_DeferredTaxLiabilities_638188171261553227" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxDisclosureAbstract_636295841675201075" xlink:to="us-gaap_DeferredTaxLiabilities_638188171261553227" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </presentationLink>
  <presentationLink xlink:role="http://www.topbuild.com/role/DisclosureNetIncomePerShareCalculationDetails" xlink:type="extended" xlink:title="40901 - Disclosure - Net Income Per Share - Calculation (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EarningsPerShareAbstract" xlink:label="EarningsPerShareAbstract" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable_638188171261553227" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="EarningsPerShareAbstract" xlink:to="us-gaap_StatementTable_638188171261553227" order="1" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="bld-20230331.xsd#bld_VestingCriteriaAxis" xlink:label="bld_VestingCriteriaAxis_638188171261553227" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable_638188171261553227" xlink:to="bld_VestingCriteriaAxis_638188171261553227" order="1" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="bld-20230331.xsd#bld_VestingCriteriaDomain" xlink:label="bld_VestingCriteriaDomain_638188171261553227" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="bld_VestingCriteriaAxis_638188171261553227" xlink:to="bld_VestingCriteriaDomain_638188171261553227" order="1" use="optional" priority="1" />
    <loc xlink:type="locator" xlink:href="bld-20230331.xsd#bld_VestingBasedOnServiceMember" xlink:label="bld_VestingBasedOnServiceMember_638188171261553227" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="bld_VestingCriteriaDomain_638188171261553227" xlink:to="bld_VestingBasedOnServiceMember_638188171261553227" order="1" use="optional" priority="1" />
    <loc xlink:type="locator" xlink:href="bld-20230331.xsd#bld_VestingBasedOnMarketConditionsMember" xlink:label="bld_VestingBasedOnMarketConditionsMember_638188171261553227" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="bld_VestingCriteriaDomain_638188171261553227" xlink:to="bld_VestingBasedOnMarketConditionsMember_638188171261553227" order="2" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="bld-20230331.xsd#bld_VestingBasedOnPerformanceMember" xlink:label="bld_VestingBasedOnPerformanceMember_638188171261553227" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="bld_VestingCriteriaDomain_638188171261553227" xlink:to="bld_VestingBasedOnPerformanceMember_638188171261553227" order="3" use="optional" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems_638188171261553227" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable_638188171261553227" xlink:to="us-gaap_StatementLineItems_638188171261553227" order="2" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetIncomeLoss" xlink:label="us-gaap_NetIncomeLoss_638188171261553227" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_638188171261553227" xlink:to="us-gaap_NetIncomeLoss_638188171261553227" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="3" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:label="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_638188171261553227" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_638188171261553227" xlink:to="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_638188171261553227" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="3" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustmentAbstract" xlink:label="us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustmentAbstract_638188171261553227" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_638188171261553227" xlink:to="us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustmentAbstract_638188171261553227" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="bld-20230331.xsd#bld_IncrementalCommonSharesAttributableToDilutiveEffectOfRestrictedStockAwards" xlink:label="bld_IncrementalCommonSharesAttributableToDilutiveEffectOfRestrictedStockAwards_638188171261553227" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustmentAbstract_638188171261553227" xlink:to="bld_IncrementalCommonSharesAttributableToDilutiveEffectOfRestrictedStockAwards_638188171261553227" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="bld-20230331.xsd#bld_IncrementalCommonSharesAttributableToDilutiveEffectOfStockOptions" xlink:label="bld_IncrementalCommonSharesAttributableToDilutiveEffectOfStockOptions_638188171261563225" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustmentAbstract_638188171261553227" xlink:to="bld_IncrementalCommonSharesAttributableToDilutiveEffectOfStockOptions_638188171261563225" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:label="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_638188171261563225" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustmentAbstract_638188171261553227" xlink:to="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_638188171261563225" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" priority="7" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EarningsPerShareBasic" xlink:label="us-gaap_EarningsPerShareBasic_638188171261563225" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_638188171261553227" xlink:to="us-gaap_EarningsPerShareBasic_638188171261563225" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="3" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EarningsPerShareDiluted" xlink:label="us-gaap_EarningsPerShareDiluted_638188171261563225" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_638188171261553227" xlink:to="us-gaap_EarningsPerShareDiluted_638188171261563225" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="3" />
  </presentationLink>
  <presentationLink xlink:role="http://www.topbuild.com/role/DisclosureNetIncomePerShareAntiDilutiveCommonStockEquivalentsDetails" xlink:type="extended" xlink:title="40902 - Disclosure - Net Income Per Share - Anti-dilutive common stock equivalents (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EarningsPerShareAbstract" xlink:label="us-gaap_EarningsPerShareAbstract_635978916835377804" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable" xlink:label="us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable_638188171261563225" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EarningsPerShareAbstract_635978916835377804" xlink:to="us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable_638188171261563225" order="1" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis" xlink:label="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_638188171261563225" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable_638188171261563225" xlink:to="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_638188171261563225" order="1" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AntidilutiveSecuritiesNameDomain" xlink:label="us-gaap_AntidilutiveSecuritiesNameDomain_638188171261563225" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_638188171261563225" xlink:to="us-gaap_AntidilutiveSecuritiesNameDomain_638188171261563225" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RestrictedStockMember" xlink:label="us-gaap_RestrictedStockMember_638188171261563225" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AntidilutiveSecuritiesNameDomain_638188171261563225" xlink:to="us-gaap_RestrictedStockMember_638188171261563225" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EmployeeStockOptionMember" xlink:label="us-gaap_EmployeeStockOptionMember_638188171261563225" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AntidilutiveSecuritiesNameDomain_638188171261563225" xlink:to="us-gaap_EmployeeStockOptionMember_638188171261563225" order="2" use="optional" />
    <loc xlink:type="locator" xlink:href="bld-20230331.xsd#bld_VestingCriteriaAxis" xlink:label="bld_VestingCriteriaAxis_638188171261573231" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable_638188171261563225" xlink:to="bld_VestingCriteriaAxis_638188171261573231" order="2" use="optional" priority="1" />
    <loc xlink:type="locator" xlink:href="bld-20230331.xsd#bld_VestingCriteriaDomain" xlink:label="bld_VestingCriteriaDomain_638188171261573231" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="bld_VestingCriteriaAxis_638188171261573231" xlink:to="bld_VestingCriteriaDomain_638188171261573231" order="1" use="optional" priority="1" />
    <loc xlink:type="locator" xlink:href="bld-20230331.xsd#bld_VestingBasedOnServiceMember" xlink:label="bld_VestingBasedOnServiceMember_638188171261573231" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="bld_VestingCriteriaDomain_638188171261573231" xlink:to="bld_VestingBasedOnServiceMember_638188171261573231" order="1" use="optional" priority="1" />
    <loc xlink:type="locator" xlink:href="bld-20230331.xsd#bld_VestingBasedOnMarketConditionsMember" xlink:label="bld_VestingBasedOnMarketConditionsMember_638188171261573231" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="bld_VestingCriteriaDomain_638188171261573231" xlink:to="bld_VestingBasedOnMarketConditionsMember_638188171261573231" order="2" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="bld-20230331.xsd#bld_VestingBasedOnPerformanceMember" xlink:label="bld_VestingBasedOnPerformanceMember_638188171261573231" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="bld_VestingCriteriaDomain_638188171261573231" xlink:to="bld_VestingBasedOnPerformanceMember_638188171261573231" order="3" use="optional" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems" xlink:label="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems_638188171261573231" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable_638188171261563225" xlink:to="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems_638188171261573231" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" xlink:label="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount_638188171261573231" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems_638188171261573231" xlink:to="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount_638188171261573231" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="9" />
  </presentationLink>
  <presentationLink xlink:role="http://www.topbuild.com/role/DisclosureShareBasedCompensationExpenseDetails" xlink:type="extended" xlink:title="41001 - Disclosure - Share-Based Compensation - Expense (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:label="DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable" xlink:label="us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable_638188171261573231" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable_638188171261573231" order="1" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PlanNameAxis" xlink:label="us-gaap_PlanNameAxis_638188171261573231" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable_638188171261573231" xlink:to="us-gaap_PlanNameAxis_638188171261573231" order="1" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PlanNameDomain" xlink:label="us-gaap_PlanNameDomain_638188171261573231" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PlanNameAxis_638188171261573231" xlink:to="us-gaap_PlanNameDomain_638188171261573231" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="bld-20230331.xsd#bld_LongTermIncentivePlanMember" xlink:label="bld_LongTermIncentivePlanMember_638188171261573231" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PlanNameDomain_638188171261573231" xlink:to="bld_LongTermIncentivePlanMember_638188171261573231" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_RangeAxis" xlink:label="srt_RangeAxis_638188171261583229" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable_638188171261573231" xlink:to="srt_RangeAxis_638188171261583229" order="2" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_RangeMember" xlink:label="srt_RangeMember_638188171261583229" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeAxis_638188171261583229" xlink:to="srt_RangeMember_638188171261583229" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_MaximumMember" xlink:label="srt_MaximumMember_638188171261583229" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeMember_638188171261583229" xlink:to="srt_MaximumMember_638188171261583229" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems" xlink:label="us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems_638188171261583229" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable_638188171261573231" xlink:to="us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems_638188171261583229" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized_638188171261583229" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems_638188171261583229" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized_638188171261583229" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AllocatedShareBasedCompensationExpense" xlink:label="us-gaap_AllocatedShareBasedCompensationExpense_638188171261583229" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems_638188171261583229" xlink:to="us-gaap_AllocatedShareBasedCompensationExpense_638188171261583229" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense" xlink:label="us-gaap_EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense_638188171261583229" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems_638188171261583229" xlink:to="us-gaap_EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense_638188171261583229" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
  </presentationLink>
  <presentationLink xlink:role="http://www.topbuild.com/role/DisclosureShareBasedCompensationActivityDetails" xlink:type="extended" xlink:title="41002 - Disclosure - Share-Based Compensation - Activity (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:label="us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_636051440641191903" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:label="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_638188171261583229" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_636051440641191903" xlink:to="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_638188171261583229" order="1" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AwardTypeAxis" xlink:label="us-gaap_AwardTypeAxis_638188171261583229" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_638188171261583229" xlink:to="us-gaap_AwardTypeAxis_638188171261583229" order="1" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_638188171261583229" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AwardTypeAxis_638188171261583229" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_638188171261583229" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RestrictedStockMember" xlink:label="us-gaap_RestrictedStockMember_638188171261593223" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_638188171261583229" xlink:to="us-gaap_RestrictedStockMember_638188171261593223" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="bld-20230331.xsd#bld_RestrictedStockAwardsGrantedFebruary2020Member" xlink:label="bld_RestrictedStockAwardsGrantedFebruary2020Member_638188171261593223" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RestrictedStockMember_638188171261593223" xlink:to="bld_RestrictedStockAwardsGrantedFebruary2020Member_638188171261593223" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EmployeeStockOptionMember" xlink:label="us-gaap_EmployeeStockOptionMember_638188171261593223" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_638188171261583229" xlink:to="us-gaap_EmployeeStockOptionMember_638188171261593223" order="2" use="optional" />
    <loc xlink:type="locator" xlink:href="bld-20230331.xsd#bld_VestingCriteriaAxis" xlink:label="bld_VestingCriteriaAxis_638188171261593223" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_638188171261583229" xlink:to="bld_VestingCriteriaAxis_638188171261593223" order="2" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="bld-20230331.xsd#bld_VestingCriteriaDomain" xlink:label="bld_VestingCriteriaDomain_638188171261593223" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="bld_VestingCriteriaAxis_638188171261593223" xlink:to="bld_VestingCriteriaDomain_638188171261593223" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="bld-20230331.xsd#bld_VestingBasedOnPerformanceMember" xlink:label="bld_VestingBasedOnPerformanceMember_638188171261593223" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="bld_VestingCriteriaDomain_638188171261593223" xlink:to="bld_VestingBasedOnPerformanceMember_638188171261593223" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="bld-20230331.xsd#bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeAxis" xlink:label="bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeAxis_638188171261593223" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_638188171261583229" xlink:to="bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeAxis_638188171261593223" order="3" use="optional" priority="1" />
    <loc xlink:type="locator" xlink:href="bld-20230331.xsd#bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeDomain" xlink:label="bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeDomain_638188171261593223" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeAxis_638188171261593223" xlink:to="bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeDomain_638188171261593223" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="bld-20230331.xsd#bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeOneMember" xlink:label="bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeOneMember_638188171261593223" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeDomain_638188171261593223" xlink:to="bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeOneMember_638188171261593223" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="bld-20230331.xsd#bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeTwoMember" xlink:label="bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeTwoMember_638188171261593223" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeDomain_638188171261593223" xlink:to="bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeTwoMember_638188171261593223" order="2" use="optional" />
    <loc xlink:type="locator" xlink:href="bld-20230331.xsd#bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeThreeMember" xlink:label="bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeThreeMember_638188171261593223" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeDomain_638188171261593223" xlink:to="bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeThreeMember_638188171261593223" order="3" use="optional" />
    <loc xlink:type="locator" xlink:href="bld-20230331.xsd#bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeFourMember" xlink:label="bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeFourMember_638188171261593223" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeDomain_638188171261593223" xlink:to="bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeFourMember_638188171261593223" order="4" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_638188171261593223" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_638188171261583229" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_638188171261593223" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward_638188171261603227" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_638188171261593223" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward_638188171261603227" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="3" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_638188171261603227" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward_638188171261603227" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_638188171261603227" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" priority="3" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod_638188171261603227" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward_638188171261603227" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod_638188171261603227" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="bld-20230331.xsd#bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsConvertedExercisedInPeriod" xlink:label="bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsConvertedExercisedInPeriod_638188171261603227" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward_638188171261603227" xlink:to="bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsConvertedExercisedInPeriod_638188171261603227" order="3" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="bld-20230331.xsd#bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedOrExpiredInPeriod" xlink:label="bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedOrExpiredInPeriod_638188171261603227" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward_638188171261603227" xlink:to="bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedOrExpiredInPeriod_638188171261603227" order="4" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_6381881712616032271" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward_638188171261603227" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_6381881712616032271" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" priority="3" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward_638188171261603227" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_638188171261593223" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward_638188171261603227" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_638188171261603227" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward_638188171261603227" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_638188171261603227" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" priority="3" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_638188171261603227" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward_638188171261603227" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_638188171261603227" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="bld-20230331.xsd#bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsConvertedExercisedWeightedAverageGrantDateFairValue" xlink:label="bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsConvertedExercisedWeightedAverageGrantDateFairValue_638188171261603227" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward_638188171261603227" xlink:to="bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsConvertedExercisedWeightedAverageGrantDateFairValue_638188171261603227" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="bld-20230331.xsd#bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedOrExpiredWeightedAverageGrantDateFairValue" xlink:label="bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedOrExpiredWeightedAverageGrantDateFairValue_638188171261613229" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward_638188171261603227" xlink:to="bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedOrExpiredWeightedAverageGrantDateFairValue_638188171261613229" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_638188171261613229" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward_638188171261603227" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_638188171261613229" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" priority="3" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward_638188171261613229" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_638188171261593223" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward_638188171261613229" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_638188171261613229" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward_638188171261613229" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_638188171261613229" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" priority="3" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised" xlink:label="us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised_638188171261613229" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward_638188171261613229" xlink:to="us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised_638188171261613229" order="2" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" priority="6" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_6381881712616132291" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward_638188171261613229" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_6381881712616132291" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" priority="3" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValueAbstract" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValueAbstract_638188171261613229" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_638188171261593223" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValueAbstract_638188171261613229" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue_638188171261613229" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValueAbstract_638188171261613229" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue_638188171261613229" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" priority="3" />
    <loc xlink:type="locator" xlink:href="bld-20230331.xsd#bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsConvertedExercisedWeightedAverageGrantDateFairValue" xlink:label="bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsConvertedExercisedWeightedAverageGrantDateFairValue_638188171261623231" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValueAbstract_638188171261613229" xlink:to="bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsConvertedExercisedWeightedAverageGrantDateFairValue_638188171261623231" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue_638188171261623231" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValueAbstract_638188171261613229" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue_638188171261623231" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" priority="3" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward_638188171261623231" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_638188171261593223" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward_638188171261623231" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_638188171261623231" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward_638188171261623231" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_638188171261623231" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" priority="3" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice_638188171261623231" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward_638188171261623231" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice_638188171261623231" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_6381881712616232311" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward_638188171261623231" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_6381881712616232311" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" priority="3" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosuresAbstract" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosuresAbstract_638188171261623231" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_638188171261593223" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosuresAbstract_638188171261623231" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="5" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue_638188171261633225" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosuresAbstract_638188171261623231" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue_638188171261633225" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue_638188171261633225" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosuresAbstract_638188171261623231" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue_638188171261633225" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber_638188171261633225" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosuresAbstract_638188171261623231" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber_638188171261633225" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="bld-20230331.xsd#bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageGrantDateFairValue" xlink:label="bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageGrantDateFairValue_638188171261633225" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosuresAbstract_638188171261623231" xlink:to="bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageGrantDateFairValue_638188171261633225" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="3" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice_638188171261633225" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosuresAbstract_638188171261623231" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice_638188171261633225" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1_638188171261633225" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosuresAbstract_638188171261623231" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1_638188171261633225" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageRemainingContractualTerm1" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageRemainingContractualTerm1_638188171261643226" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosuresAbstract_638188171261623231" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageRemainingContractualTerm1_638188171261643226" order="7" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedAbstract" xlink:label="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedAbstract_638188171261643226" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_638188171261593223" xlink:to="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedAbstract_638188171261643226" order="7" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions" xlink:label="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions_638188171261643226" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedAbstract_638188171261643226" xlink:to="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions_638188171261643226" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="3" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions" xlink:label="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions_638188171261643226" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedAbstract_638188171261643226" xlink:to="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions_638188171261643226" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="3" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" xlink:label="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1_638188171261643226" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedAbstract_638188171261643226" xlink:to="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1_638188171261643226" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized" xlink:label="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized_638188171261643226" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedAbstract_638188171261643226" xlink:to="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized_638188171261643226" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdditionalDisclosuresAbstract" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdditionalDisclosuresAbstract_638188171261653227" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_638188171261593223" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdditionalDisclosuresAbstract_638188171261653227" order="8" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="bld-20230331.xsd#bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardOtherThanOptionsGrantsInPeriodTotalGrantDateFairValue" xlink:label="bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardOtherThanOptionsGrantsInPeriodTotalGrantDateFairValue_638188171261653227" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdditionalDisclosuresAbstract_638188171261653227" xlink:to="bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardOtherThanOptionsGrantsInPeriodTotalGrantDateFairValue_638188171261653227" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="bld-20230331.xsd#bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangePercentage" xlink:label="bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangePercentage_638188171261653227" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdditionalDisclosuresAbstract_638188171261653227" xlink:to="bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangePercentage_638188171261653227" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="bld-20230331.xsd#bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeRelatedExpenses" xlink:label="bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeRelatedExpenses_638188171261653227" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdditionalDisclosuresAbstract_638188171261653227" xlink:to="bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeRelatedExpenses_638188171261653227" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="bld-20230331.xsd#bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardOtherThanOptionsGrantsCumulativePeriodOfAchievement" xlink:label="bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardOtherThanOptionsGrantsCumulativePeriodOfAchievement_638188171261653227" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdditionalDisclosuresAbstract_638188171261653227" xlink:to="bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardOtherThanOptionsGrantsCumulativePeriodOfAchievement_638188171261653227" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="bld-20230331.xsd#bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardOtherThanOptionsGrantsCumulativePeriodOfAchievementPercentage" xlink:label="bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardOtherThanOptionsGrantsCumulativePeriodOfAchievementPercentage_638188171261653227" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdditionalDisclosuresAbstract_638188171261653227" xlink:to="bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardOtherThanOptionsGrantsCumulativePeriodOfAchievementPercentage_638188171261653227" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="bld-20230331.xsd#bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardOtherThanOptionsGrantsTotalCompensationExpenseRecognizedOverPerformancePeriod" xlink:label="bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardOtherThanOptionsGrantsTotalCompensationExpenseRecognizedOverPerformancePeriod_638188171261663225" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdditionalDisclosuresAbstract_638188171261653227" xlink:to="bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardOtherThanOptionsGrantsTotalCompensationExpenseRecognizedOverPerformancePeriod_638188171261663225" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsAndMethodologyAbstract" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsAndMethodologyAbstract_638188171261663225" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_638188171261593223" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsAndMethodologyAbstract_638188171261663225" order="9" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="bld-20230331.xsd#bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRemainingMeasurementPeriod" xlink:label="bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRemainingMeasurementPeriod_638188171261663225" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsAndMethodologyAbstract_638188171261663225" xlink:to="bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRemainingMeasurementPeriod_638188171261663225" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate_638188171261663225" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsAndMethodologyAbstract_638188171261663225" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate_638188171261663225" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="3" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate_638188171261663225" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsAndMethodologyAbstract_638188171261663225" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate_638188171261663225" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="bld-20230331.xsd#bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsEstimatedFairValueOfAwardsGranted" xlink:label="bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsEstimatedFairValueOfAwardsGranted_638188171261673225" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsAndMethodologyAbstract_638188171261663225" xlink:to="bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsEstimatedFairValueOfAwardsGranted_638188171261673225" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="5" />
  </presentationLink>
  <presentationLink xlink:role="http://www.topbuild.com/role/DisclosureBusinessCombinationsSummaryDetails" xlink:type="extended" xlink:title="41101 - Disclosure - Business Combinations - Summary (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessCombinationsAbstract" xlink:label="us-gaap_BusinessCombinationsAbstract_636288233679305050" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable" xlink:label="us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_638188171261673225" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessCombinationsAbstract_636288233679305050" xlink:to="us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_638188171261673225" order="1" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessAcquisitionAxis" xlink:label="us-gaap_BusinessAcquisitionAxis_638188171261673225" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_638188171261673225" xlink:to="us-gaap_BusinessAcquisitionAxis_638188171261673225" order="1" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessAcquisitionAcquireeDomain" xlink:label="us-gaap_BusinessAcquisitionAcquireeDomain_638188171261673225" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAxis_638188171261673225" xlink:to="us-gaap_BusinessAcquisitionAcquireeDomain_638188171261673225" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="bld-20230331.xsd#bld_SriHoldingsMember" xlink:label="bld_SriHoldingsMember_638188171261673225" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain_638188171261673225" xlink:to="bld_SriHoldingsMember_638188171261673225" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="bld-20230331.xsd#bld_Acquisitions2022Member" xlink:label="bld_Acquisitions2022Member_638188171261673225" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain_638188171261673225" xlink:to="bld_Acquisitions2022Member_638188171261673225" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="bld-20230331.xsd#bld_BillingsInsulationServiceInc.Member" xlink:label="bld_BillingsInsulationServiceInc.Member_638188171261683236" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain_638188171261673225" xlink:to="bld_BillingsInsulationServiceInc.Member_638188171261683236" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SeriesOfIndividuallyImmaterialBusinessAcquisitionsMember" xlink:label="us-gaap_SeriesOfIndividuallyImmaterialBusinessAcquisitionsMember_638188171261683236" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain_638188171261673225" xlink:to="us-gaap_SeriesOfIndividuallyImmaterialBusinessAcquisitionsMember_638188171261683236" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessAcquisitionLineItems" xlink:label="us-gaap_BusinessAcquisitionLineItems_638188171261683236" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_638188171261673225" xlink:to="us-gaap_BusinessAcquisitionLineItems_638188171261683236" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessCombinationAcquisitionRelatedCosts" xlink:label="us-gaap_BusinessCombinationAcquisitionRelatedCosts_638188171261683236" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionLineItems_638188171261683236" xlink:to="us-gaap_BusinessCombinationAcquisitionRelatedCosts_638188171261683236" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessCombinationConsiderationTransferred1" xlink:label="us-gaap_BusinessCombinationConsiderationTransferred1_638188171261683236" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionLineItems_638188171261683236" xlink:to="us-gaap_BusinessCombinationConsiderationTransferred1_638188171261683236" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_Goodwill" xlink:label="us-gaap_Goodwill_638188171261683236" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionLineItems_638188171261683236" xlink:to="us-gaap_Goodwill_638188171261683236" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessCombinationDescriptionAbstract" xlink:label="us-gaap_BusinessCombinationDescriptionAbstract_638188171261683236" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionLineItems_638188171261683236" xlink:to="us-gaap_BusinessCombinationDescriptionAbstract_638188171261683236" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="6" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PaymentsToAcquireBusinessesGross" xlink:label="us-gaap_PaymentsToAcquireBusinessesGross_638188171261683236" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessCombinationDescriptionAbstract_638188171261683236" xlink:to="us-gaap_PaymentsToAcquireBusinessesGross_638188171261683236" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GoodwillAcquiredDuringPeriod" xlink:label="us-gaap_GoodwillAcquiredDuringPeriod_638188171261733225" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessCombinationDescriptionAbstract_638188171261683236" xlink:to="us-gaap_GoodwillAcquiredDuringPeriod_638188171261733225" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="5" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_Goodwill" xlink:label="us-gaap_Goodwill_638188171261733225" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessCombinationDescriptionAbstract_638188171261683236" xlink:to="us-gaap_Goodwill_638188171261733225" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessAcquisitionPurchasePriceAllocationGoodwillExpectedTaxDeductibleAmount" xlink:label="us-gaap_BusinessAcquisitionPurchasePriceAllocationGoodwillExpectedTaxDeductibleAmount_638188171261733225" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessCombinationDescriptionAbstract_638188171261683236" xlink:to="us-gaap_BusinessAcquisitionPurchasePriceAllocationGoodwillExpectedTaxDeductibleAmount_638188171261733225" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNetAbstract" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNetAbstract_638188171261733225" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionLineItems_638188171261683236" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNetAbstract_638188171261733225" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="3" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_Goodwill" xlink:label="us-gaap_Goodwill_6381881712617332251" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNetAbstract_638188171261733225" xlink:to="us-gaap_Goodwill_6381881712617332251" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet_638188171261743226" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNetAbstract_638188171261733225" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet_638188171261743226" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" priority="4" />
  </presentationLink>
  <presentationLink xlink:role="http://www.topbuild.com/role/DisclosureBusinessCombinationsFairValueOfConsiderationDetails" xlink:type="extended" xlink:title="41102 - Disclosure - Business Combinations - Fair Value of Consideration (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessCombinationsAbstract" xlink:label="us-gaap_BusinessCombinationsAbstract_1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessCombinationConsiderationTransferredAbstract" xlink:label="us-gaap_BusinessCombinationConsiderationTransferredAbstract_638188171261743226" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessCombinationsAbstract_1" xlink:to="us-gaap_BusinessCombinationConsiderationTransferredAbstract_638188171261743226" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PaymentsToAcquireBusinessesGross" xlink:label="us-gaap_PaymentsToAcquireBusinessesGross_638188171261743226" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessCombinationConsiderationTransferredAbstract_638188171261743226" xlink:to="us-gaap_PaymentsToAcquireBusinessesGross_638188171261743226" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="5" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessCombinationConsiderationTransferred1" xlink:label="us-gaap_BusinessCombinationConsiderationTransferred1_638188171261743226" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessCombinationConsiderationTransferredAbstract_638188171261743226" xlink:to="us-gaap_BusinessCombinationConsiderationTransferred1_638188171261743226" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" priority="4" />
  </presentationLink>
  <presentationLink xlink:role="http://www.topbuild.com/role/DisclosureAccruedLiabilitiesDetails" xlink:type="extended" xlink:title="41301 - Disclosure - Accrued Liabilities (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PayablesAndAccrualsAbstract" xlink:label="us-gaap_PayablesAndAccrualsAbstract" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EmployeeRelatedLiabilitiesCurrent" xlink:label="us-gaap_EmployeeRelatedLiabilitiesCurrent_638188171261743226" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PayablesAndAccrualsAbstract" xlink:to="us-gaap_EmployeeRelatedLiabilitiesCurrent_638188171261743226" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccruedIncomeTaxesCurrent" xlink:label="us-gaap_AccruedIncomeTaxesCurrent_638188171261743226" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PayablesAndAccrualsAbstract" xlink:to="us-gaap_AccruedIncomeTaxesCurrent_638188171261743226" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccruedInsuranceCurrent" xlink:label="us-gaap_AccruedInsuranceCurrent_638188171261743226" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PayablesAndAccrualsAbstract" xlink:to="us-gaap_AccruedInsuranceCurrent_638188171261743226" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="bld-20230331.xsd#bld_AccruedCustomerRebatesCurrent" xlink:label="bld_AccruedCustomerRebatesCurrent_638188171261743226" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PayablesAndAccrualsAbstract" xlink:to="bld_AccruedCustomerRebatesCurrent_638188171261743226" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ContractWithCustomerLiabilityCurrent" xlink:label="us-gaap_ContractWithCustomerLiabilityCurrent_638188171261753227" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PayablesAndAccrualsAbstract" xlink:to="us-gaap_ContractWithCustomerLiabilityCurrent_638188171261753227" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="bld-20230331.xsd#bld_AccruedSalesAndPropertyTaxesCurrent" xlink:label="bld_AccruedSalesAndPropertyTaxesCurrent_638188171261753227" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PayablesAndAccrualsAbstract" xlink:to="bld_AccruedSalesAndPropertyTaxesCurrent_638188171261753227" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InterestPayableCurrent" xlink:label="us-gaap_InterestPayableCurrent_638188171261753227" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PayablesAndAccrualsAbstract" xlink:to="us-gaap_InterestPayableCurrent_638188171261753227" order="7" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherAccruedLiabilitiesCurrent" xlink:label="us-gaap_OtherAccruedLiabilitiesCurrent_638188171261753227" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PayablesAndAccrualsAbstract" xlink:to="us-gaap_OtherAccruedLiabilitiesCurrent_638188171261753227" order="8" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="bld-20230331.xsd#bld_AccruedLiabilitiesAndEmployeeRelatedLiabilitiesCurrent" xlink:label="bld_AccruedLiabilitiesAndEmployeeRelatedLiabilitiesCurrent_638188171261753227" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PayablesAndAccrualsAbstract" xlink:to="bld_AccruedLiabilitiesAndEmployeeRelatedLiabilitiesCurrent_638188171261753227" order="9" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
  </presentationLink>
  <presentationLink xlink:role="http://www.topbuild.com/role/DisclosureOtherCommitmentsAndContingenciesDetails" xlink:type="extended" xlink:title="41401 - Disclosure - Other Commitments and Contingencies (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommitmentsAndContingenciesDisclosureAbstract" xlink:label="us-gaap_CommitmentsAndContingenciesDisclosureAbstract_636233894376099605" />
    <loc xlink:type="locator" xlink:href="bld-20230331.xsd#bld_OutstandingBondsAbstract" xlink:label="bld_OutstandingBondsAbstract_638188171261753227" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CommitmentsAndContingenciesDisclosureAbstract_636233894376099605" xlink:to="bld_OutstandingBondsAbstract_638188171261753227" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="bld-20230331.xsd#bld_PerformanceBondsOutstanding" xlink:label="bld_PerformanceBondsOutstanding_638188171261753227" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="bld_OutstandingBondsAbstract_638188171261753227" xlink:to="bld_PerformanceBondsOutstanding_638188171261753227" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="3" />
    <loc xlink:type="locator" xlink:href="bld-20230331.xsd#bld_LicenseAndInsuranceRelatedAndOtherBondsOutstanding" xlink:label="bld_LicenseAndInsuranceRelatedAndOtherBondsOutstanding_638188171261753227" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="bld_OutstandingBondsAbstract_638188171261753227" xlink:to="bld_LicenseAndInsuranceRelatedAndOtherBondsOutstanding_638188171261753227" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="3" />
    <loc xlink:type="locator" xlink:href="bld-20230331.xsd#bld_BondsOutstanding" xlink:label="bld_BondsOutstanding_638188171261753227" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="bld_OutstandingBondsAbstract_638188171261753227" xlink:to="bld_BondsOutstanding_638188171261753227" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" priority="3" />
  </presentationLink>
</link:linkbase>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>11
<FILENAME>R1.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.1</span><table class="report" border="0" cellspacing="2" id="idm140418083712592">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Document and Entity Information - shares<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
<th class="th" colspan="1"></th>
</tr>
<tr>
<th class="th"><div>Mar. 31, 2023</div></th>
<th class="th"><div>Apr. 27, 2023</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_CoverAbstract', window );"><strong>Cover page.</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityRegistrantName', window );">Entity Registrant Name</a></td>
<td class="text">TopBuild Corp<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityCentralIndexKey', window );">Entity Central Index Key</a></td>
<td class="text">0001633931<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_DocumentType', window );">Document Type</a></td>
<td class="text">10-Q<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_DocumentQuarterlyReport', window );">Document Quarterly Report</a></td>
<td class="text">true<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_DocumentPeriodEndDate', window );">Document Period End Date</a></td>
<td class="text">Mar. 31,  2023<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_DocumentTransitionReport', window );">Document Transition Report</a></td>
<td class="text">false<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityFileNumber', window );">Entity File Number</a></td>
<td class="text">001-36870<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityIncorporationStateCountryCode', window );">Entity Incorporation, State or Country Code</a></td>
<td class="text">DE<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityTaxIdentificationNumber', window );">Entity Tax Identification Number</a></td>
<td class="text">47-3096382<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityAddressAddressLine1', window );">Entity Address, Address Line One</a></td>
<td class="text">475 North Williamson Boulevard<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityAddressCityOrTown', window );">Entity Address, City or Town</a></td>
<td class="text">Daytona Beach<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityAddressStateOrProvince', window );">Entity Address, State or Province</a></td>
<td class="text">FL<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityAddressPostalZipCode', window );">Entity Address, Postal Zip Code</a></td>
<td class="text">32114<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_CityAreaCode', window );">City Area Code</a></td>
<td class="text">386<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_LocalPhoneNumber', window );">Local Phone Number</a></td>
<td class="text">304-2200<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_Security12bTitle', window );">Title of 12(b) Security</a></td>
<td class="text">Common stock, par value $0.01 per share<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_TradingSymbol', window );">Trading Symbol</a></td>
<td class="text">BLD<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_SecurityExchangeName', window );">Security Exchange Name</a></td>
<td class="text">NYSE<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_AmendmentFlag', window );">Amendment Flag</a></td>
<td class="text">false<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_CurrentFiscalYearEndDate', window );">Current Fiscal Year End Date</a></td>
<td class="text">--12-31<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityCurrentReportingStatus', window );">Entity Current Reporting Status</a></td>
<td class="text">Yes<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityInteractiveDataCurrent', window );">Entity Interactive Data Current</a></td>
<td class="text">Yes<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityFilerCategory', window );">Entity Filer Category</a></td>
<td class="text">Large Accelerated Filer<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityCommonStockSharesOutstanding', window );">Entity Common Stock, Shares Outstanding</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">31,749,321<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_DocumentFiscalYearFocus', window );">Document Fiscal Year Focus</a></td>
<td class="text">2023<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_DocumentFiscalPeriodFocus', window );">Document Fiscal Period Focus</a></td>
<td class="text">Q1<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntitySmallBusiness', window );">Entity Small Business</a></td>
<td class="text">false<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityEmergingGrowthCompany', window );">Entity Emerging Growth Company</a></td>
<td class="text">false<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityShellCompany', window );">Entity Shell Company</a></td>
<td class="text">false<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_AmendmentFlag">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Boolean flag that is true when the XBRL content amends previously-filed or accepted submission.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_AmendmentFlag</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_CityAreaCode">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Area code of city</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_CityAreaCode</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:normalizedStringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_CoverAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Cover page.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_CoverAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_CurrentFiscalYearEndDate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>End date of current fiscal year in the format --MM-DD.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_CurrentFiscalYearEndDate</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:gMonthDayItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_DocumentFiscalPeriodFocus">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Fiscal period values are FY, Q1, Q2, and Q3.  1st, 2nd and 3rd quarter 10-Q or 10-QT statements have value Q1, Q2, and Q3 respectively, with 10-K, 10-KT or other fiscal year statements having FY.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_DocumentFiscalPeriodFocus</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:fiscalPeriodItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_DocumentFiscalYearFocus">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>This is focus fiscal year of the document report in YYYY format. For a 2006 annual report, which may also provide financial information from prior periods, fiscal 2006 should be given as the fiscal year focus. Example: 2006.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_DocumentFiscalYearFocus</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:gYearItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_DocumentPeriodEndDate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>For the EDGAR submission types of Form 8-K: the date of the report, the date of the earliest event reported; for the EDGAR submission types of Form N-1A: the filing date; for all other submission types: the end of the reporting or transition period.  The format of the date is YYYY-MM-DD.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_DocumentPeriodEndDate</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:dateItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_DocumentQuarterlyReport">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Boolean flag that is true only for a form used as an quarterly report.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 10-Q<br> -Number 240<br> -Section 308<br> -Subsection a<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_DocumentQuarterlyReport</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_DocumentTransitionReport">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Boolean flag that is true only for a form used as a transition report.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Forms 10-K, 10-Q, 20-F<br> -Number 240<br> -Section 13<br> -Subsection a-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_DocumentTransitionReport</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_DocumentType">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The type of document being provided (such as 10-K, 10-Q, 485BPOS, etc). The document type is limited to the same value as the supporting SEC submission type, or the word 'Other'.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_DocumentType</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:submissionTypeItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityAddressAddressLine1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Address Line 1 such as Attn, Building Name, Street Name</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityAddressAddressLine1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:normalizedStringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityAddressCityOrTown">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Name of the City or Town</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityAddressCityOrTown</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:normalizedStringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityAddressPostalZipCode">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Code for the postal or zip code</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityAddressPostalZipCode</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:normalizedStringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityAddressStateOrProvince">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Name of the state or province.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityAddressStateOrProvince</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:stateOrProvinceItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityCentralIndexKey">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>A unique 10-digit SEC-issued value to identify entities that have filed disclosures with the SEC. It is commonly abbreviated as CIK.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityCentralIndexKey</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:centralIndexKeyItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityCommonStockSharesOutstanding">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Indicate number of shares or other units outstanding of each of registrant's classes of capital or common stock or other ownership interests, if and as stated on cover of related periodic report. Where multiple classes or units exist define each class/interest by adding class of stock items such as Common Class A [Member], Common Class B [Member] or Partnership Interest [Member] onto the Instrument [Domain] of the Entity Listings, Instrument.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityCommonStockSharesOutstanding</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityCurrentReportingStatus">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Indicate 'Yes' or 'No' whether registrants (1) have filed all reports required to be filed by Section 13 or 15(d) of the Securities Exchange Act of 1934 during the preceding 12 months (or for such shorter period that registrants were required to file such reports), and (2) have been subject to such filing requirements for the past 90 days. This information should be based on the registrant's current or most recent filing containing the related disclosure.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityCurrentReportingStatus</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:yesNoItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityEmergingGrowthCompany">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Indicate if registrant meets the emerging growth company criteria.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityEmergingGrowthCompany</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityFileNumber">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Commission file number. The field allows up to 17 characters. The prefix may contain 1-3 digits, the sequence number may contain 1-8 digits, the optional suffix may contain 1-4 characters, and the fields are separated with a hyphen.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityFileNumber</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:fileNumberItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityFilerCategory">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Indicate whether the registrant is one of the following: Large Accelerated Filer, Accelerated Filer, Non-accelerated Filer. Definitions of these categories are stated in Rule 12b-2 of the Exchange Act. This information should be based on the registrant's current or most recent filing containing the related disclosure.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityFilerCategory</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:filerCategoryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityIncorporationStateCountryCode">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Two-character EDGAR code representing the state or country of incorporation.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityIncorporationStateCountryCode</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:edgarStateCountryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityInteractiveDataCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Boolean flag that is true when the registrant has submitted electronically every Interactive Data File required to be submitted pursuant to Rule 405 of Regulation S-T during the preceding 12 months (or for such shorter period that the registrant was required to submit such files).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Regulation S-T<br> -Number 232<br> -Section 405<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityInteractiveDataCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:yesNoItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityRegistrantName">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The exact name of the entity filing the report as specified in its charter, which is required by forms filed with the SEC.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityRegistrantName</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:normalizedStringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityShellCompany">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Boolean flag that is true when the registrant is a shell company as defined in Rule 12b-2 of the Exchange Act.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityShellCompany</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntitySmallBusiness">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Indicates that the company is a Smaller Reporting Company (SRC).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntitySmallBusiness</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityTaxIdentificationNumber">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The Tax Identification Number (TIN), also known as an Employer Identification Number (EIN), is a unique 9-digit value assigned by the IRS.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityTaxIdentificationNumber</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:employerIdItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_LocalPhoneNumber">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Local phone number for entity.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_LocalPhoneNumber</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:normalizedStringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_Security12bTitle">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Title of a 12(b) registered security.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection b<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_Security12bTitle</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:securityTitleItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_SecurityExchangeName">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Name of the Exchange on which a security is registered.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection d1-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_SecurityExchangeName</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:edgarExchangeCodeItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_TradingSymbol">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Trading symbol of an instrument as listed on an exchange.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_TradingSymbol</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:tradingSymbolItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>12
<FILENAME>R2.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.1</span><table class="report" border="0" cellspacing="2" id="idm140418087573456">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>CONDENSED CONSOLIDATED BALANCE SHEETS - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Mar. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AssetsCurrentAbstract', window );"><strong>Current assets:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CashAndCashEquivalentsAtCarryingValue', window );">Cash and cash equivalents</a></td>
<td class="nump">$ 333,778<span></span>
</td>
<td class="nump">$ 240,069<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccountsReceivableNetCurrent', window );">Receivables, net of an allowance for credit losses of $16,007 at March 31, 2023, and $16,281 at December 31, 2022</a></td>
<td class="nump">833,959<span></span>
</td>
<td class="nump">836,071<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InventoryNet', window );">Inventories, net</a></td>
<td class="nump">422,229<span></span>
</td>
<td class="nump">438,644<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PrepaidExpenseAndOtherAssetsCurrent', window );">Prepaid expenses and other current assets</a></td>
<td class="nump">22,861<span></span>
</td>
<td class="nump">34,257<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AssetsCurrent', window );">Total current assets</a></td>
<td class="nump">1,612,827<span></span>
</td>
<td class="nump">1,549,041<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingLeaseRightOfUseAsset', window );">Right of use assets</a></td>
<td class="nump">211,381<span></span>
</td>
<td class="nump">205,892<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization', window );">Property and equipment, net</a></td>
<td class="nump">260,146<span></span>
</td>
<td class="nump">253,484<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Goodwill', window );">Goodwill</a></td>
<td class="nump">1,992,394<span></span>
</td>
<td class="nump">1,966,994<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsNet', window );">Other intangible assets, net</a></td>
<td class="nump">607,683<span></span>
</td>
<td class="nump">614,967<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherAssetsNoncurrent', window );">Other assets</a></td>
<td class="nump">16,483<span></span>
</td>
<td class="nump">16,453<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Assets', window );">Total assets</a></td>
<td class="nump">4,700,914<span></span>
</td>
<td class="nump">4,606,831<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LiabilitiesCurrentAbstract', window );"><strong>Current liabilities:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccountsPayableCurrent', window );">Accounts payable</a></td>
<td class="nump">450,963<span></span>
</td>
<td class="nump">487,114<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LongTermDebtCurrent', window );">Current portion of long-term debt</a></td>
<td class="nump">42,371<span></span>
</td>
<td class="nump">40,068<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_bld_AccruedLiabilitiesAndEmployeeRelatedLiabilitiesCurrent', window );">Accrued liabilities</a></td>
<td class="nump">193,347<span></span>
</td>
<td class="nump">199,370<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingLeaseLiabilityCurrent', window );">Short-term operating lease liabilities</a></td>
<td class="nump">62,110<span></span>
</td>
<td class="nump">60,880<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FinanceLeaseLiabilityCurrent', window );">Short-term finance lease liabilities</a></td>
<td class="nump">2,452<span></span>
</td>
<td class="nump">2,207<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LiabilitiesCurrent', window );">Total current liabilities</a></td>
<td class="nump">751,243<span></span>
</td>
<td class="nump">789,639<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LongTermDebtNoncurrent', window );">Long-term debt</a></td>
<td class="nump">1,405,931<span></span>
</td>
<td class="nump">1,417,257<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredIncomeTaxLiabilitiesNet', window );">Deferred tax liabilities, net</a></td>
<td class="nump">252,044<span></span>
</td>
<td class="nump">251,481<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccruedInsuranceNoncurrent', window );">Long-term portion of insurance reserves</a></td>
<td class="nump">61,466<span></span>
</td>
<td class="nump">59,783<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingLeaseLiabilityNoncurrent', window );">Long-term operating lease liabilities</a></td>
<td class="nump">154,844<span></span>
</td>
<td class="nump">149,943<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FinanceLeaseLiabilityNoncurrent', window );">Long-term finance lease liabilities</a></td>
<td class="nump">4,983<span></span>
</td>
<td class="nump">6,673<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherLiabilitiesNoncurrent', window );">Other liabilities</a></td>
<td class="nump">5,259<span></span>
</td>
<td class="nump">2,349<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Liabilities', window );">Total liabilities</a></td>
<td class="nump">2,635,770<span></span>
</td>
<td class="nump">2,677,125<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CommitmentsAndContingencies', window );">Commitments and contingencies</a></td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockholdersEquityAbstract', window );"><strong>Equity:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PreferredStockValue', window );">Preferred stock, $0.01 par value: 10,000,000 shares authorized; 0 shares issued and outstanding</a></td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CommonStockValue', window );">Common stock, $0.01 par value: 250,000,000 shares authorized; 39,465,688 shares issued and 31,750,010 outstanding at March 31, 2023, and 39,325,916 shares issued and 31,642,832 outstanding at December 31, 2022</a></td>
<td class="nump">395<span></span>
</td>
<td class="nump">393<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_TreasuryStockCommonValue', window );">Treasury stock, 7,715,678 shares at March 31, 2023, and 7,683,084 shares at December 31, 2022, at cost</a></td>
<td class="num">(699,149)<span></span>
</td>
<td class="num">(692,799)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AdditionalPaidInCapitalCommonStock', window );">Additional paid-in capital</a></td>
<td class="nump">891,530<span></span>
</td>
<td class="nump">887,367<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RetainedEarningsAccumulatedDeficit', window );">Retained earnings</a></td>
<td class="nump">1,892,535<span></span>
</td>
<td class="nump">1,756,665<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax', window );">Accumulated other comprehensive loss</a></td>
<td class="num">(20,167)<span></span>
</td>
<td class="num">(21,920)<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Total equity</a></td>
<td class="nump">2,065,144<span></span>
</td>
<td class="nump">1,929,706<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LiabilitiesAndStockholdersEquity', window );">Total liabilities and equity</a></td>
<td class="nump">$ 4,700,914<span></span>
</td>
<td class="nump">$ 4,606,831<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_bld_AccruedLiabilitiesAndEmployeeRelatedLiabilitiesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Carrying value as of the balance sheet date of obligations incurred and payable, pertaining to costs that are statutory in nature, are incurred on contractual obligations, or accumulate over time and for which invoices have not yet been received or will not be rendered. Also includes the total of the carrying values as of the balance sheet date of obligations incurred through that date and payable for obligations related to services received from employees, such as accrued salaries and bonuses, payroll taxes and fringe benefits. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">bld_AccruedLiabilitiesAndEmployeeRelatedLiabilitiesCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>bld_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccountsPayableCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Carrying value as of the balance sheet date of liabilities incurred (and for which invoices have typically been received) and payable to vendors for goods and services received that are used in an entity's business. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.19(a))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccountsPayableCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccountsReceivableNetCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, after allowance for credit loss, of right to consideration from customer for product sold and service rendered in normal course of business, classified as current.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 310<br> -SubTopic 10<br> -Section 45<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=124259787&amp;loc=d3e4428-111522<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 310<br> -SubTopic 10<br> -Section 45<br> -Paragraph 9<br> -URI https://asc.fasb.org/extlink&amp;oid=124259787&amp;loc=d3e4531-111522<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccountsReceivableNetCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccruedInsuranceNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Carrying value as of the balance sheet date of obligations incurred through that date and due beyond one year (or beyond one operating cycle if longer) to insurance entities to mitigate potential loss from various risks or to satisfy a promise to provide certain coverages to employees.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.24)<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccruedInsuranceNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Accumulated change in equity from transactions and other events and circumstances from non-owner sources, net of tax effect, at period end. Excludes Net Income (Loss), and accumulated changes in equity from transactions resulting from investments by owners and distributions to owners. Includes foreign currency translation items, certain pension adjustments, unrealized gains and losses on certain investments in debt and equity securities, other than temporary impairment (OTTI) losses related to factors other than credit losses on available-for-sale and held-to-maturity debt securities that an entity does not intend to sell and it is not more likely than not that the entity will be required to sell before recovery of the amortized cost basis, as well as changes in the fair value of derivatives related to the effective portion of a designated cash flow hedge.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(30)(a)(4))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 11<br> -URI https://asc.fasb.org/extlink&amp;oid=126968391&amp;loc=d3e637-108580<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(23)(a)(3))<br> -URI https://asc.fasb.org/extlink&amp;oid=126734703&amp;loc=d3e572229-122910<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 14A<br> -URI https://asc.fasb.org/extlink&amp;oid=126968391&amp;loc=SL7669686-108580<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 40<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (h)(2)<br> -URI https://asc.fasb.org/extlink&amp;oid=124501264&amp;loc=SL117420844-207641<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 40<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (g)(2)(ii)<br> -URI https://asc.fasb.org/extlink&amp;oid=124501264&amp;loc=SL117420844-207641<br><br>Reference 7: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 14<br> -URI https://asc.fasb.org/extlink&amp;oid=126968391&amp;loc=d3e681-108580<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AdditionalPaidInCapitalCommonStock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Value received from shareholders in common stock-related transactions that are in excess of par value or stated value and amounts received from other stock-related transactions. Includes only common stock transactions (excludes preferred stock transactions). May be called contributed capital, capital in excess of par, capital surplus, or paid-in capital.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(30)(a)(1))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AdditionalPaidInCapitalCommonStock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_Assets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Sum of the carrying amounts as of the balance sheet date of all assets that are recognized. Assets are probable future economic benefits obtained or controlled by an entity as a result of past transactions or events.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(11))<br> -URI https://asc.fasb.org/extlink&amp;oid=126897435&amp;loc=d3e534808-122878<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(12))<br> -URI https://asc.fasb.org/extlink&amp;oid=126734703&amp;loc=d3e572229-122910<br><br>Reference 7: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124433192&amp;loc=SL2890621-112765<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 9: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 14: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=123596393&amp;loc=d3e14064-108612<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (bb)<br> -URI https://asc.fasb.org/extlink&amp;oid=123419778&amp;loc=d3e5710-111685<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (d)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 45<br> -Paragraph 25<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=116870748&amp;loc=SL6758485-165988<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(18))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8906-108599<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_Assets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AssetsCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Sum of the carrying amounts as of the balance sheet date of all assets that are expected to be realized in cash, sold, or consumed within one year (or the normal operating cycle, if longer). Assets are probable future economic benefits obtained or controlled by an entity as a result of past transactions or events.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=124098289&amp;loc=d3e6676-107765<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124433192&amp;loc=SL2890621-112765<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 7: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=123596393&amp;loc=d3e14064-108612<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 45<br> -Paragraph 25<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=116870748&amp;loc=SL6758485-165988<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br><br>Reference 14: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (bb)<br> -URI https://asc.fasb.org/extlink&amp;oid=123419778&amp;loc=d3e5710-111685<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(9))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AssetsCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AssetsCurrentAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AssetsCurrentAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CashAndCashEquivalentsAtCarryingValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of currency on hand as well as demand deposits with banks or financial institutions. Includes other kinds of accounts that have the general characteristics of demand deposits. Also includes short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates. Excludes cash and cash equivalents within disposal group and discontinued operation.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 4<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3044-108585<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124098289&amp;loc=d3e6676-107765<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(1))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CashAndCashEquivalentsAtCarryingValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommitmentsAndContingencies">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Represents the caption on the face of the balance sheet to indicate that the entity has entered into (1) purchase or supply arrangements that will require expending a portion of its resources to meet the terms thereof, and (2) is exposed to potential losses or, less frequently, gains, arising from (a) possible claims against a company's resources due to future performance under contract terms, and (b) possible losses or likely gains from uncertainties that will ultimately be resolved when one or more future events that are deemed likely to occur do occur or fail to occur.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.25)<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03.(a),19)<br> -URI https://asc.fasb.org/extlink&amp;oid=126734703&amp;loc=d3e572229-122910<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03.17)<br> -URI https://asc.fasb.org/extlink&amp;oid=126897435&amp;loc=d3e534808-122878<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommitmentsAndContingencies</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommonStockValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Aggregate par or stated value of issued nonredeemable common stock (or common stock redeemable solely at the option of the issuer). This item includes treasury stock repurchased by the entity. Note: elements for number of nonredeemable common shares, par value and other disclosure concepts are in another section within stockholders' equity.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommonStockValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredIncomeTaxLiabilitiesNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, after deferred tax asset, of deferred tax liability attributable to taxable differences with jurisdictional netting.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 45<br> -Paragraph 6<br> -URI https://asc.fasb.org/extlink&amp;oid=123427490&amp;loc=d3e31931-109318<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 45<br> -Paragraph 4<br> -URI https://asc.fasb.org/extlink&amp;oid=123427490&amp;loc=d3e31917-109318<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredIncomeTaxLiabilitiesNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FinanceLeaseLiabilityCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Present value of lessee's discounted obligation for lease payments from finance lease, classified as current.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=123391704&amp;loc=SL77918627-209977<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FinanceLeaseLiabilityCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FinanceLeaseLiabilityNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Present value of lessee's discounted obligation for lease payments from finance lease, classified as noncurrent.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=123391704&amp;loc=SL77918627-209977<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FinanceLeaseLiabilityNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount after amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 926<br> -SubTopic 20<br> -Section 50<br> -Paragraph 5<br> -URI https://asc.fasb.org/extlink&amp;oid=120154696&amp;loc=d3e54445-107959<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(1)<br> -URI https://asc.fasb.org/extlink&amp;oid=66006027&amp;loc=d3e16323-109275<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_Goodwill">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount after accumulated impairment loss of an asset representing future economic benefits arising from other assets acquired in a business combination that are not individually identified and separately recognized.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=121556970&amp;loc=d3e13816-109267<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(10)(1))<br> -URI https://asc.fasb.org/extlink&amp;oid=126897435&amp;loc=d3e534808-122878<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (h)<br> -URI https://asc.fasb.org/extlink&amp;oid=121556970&amp;loc=d3e13816-109267<br><br>Reference 4: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 55<br> -Paragraph 24<br> -URI https://asc.fasb.org/extlink&amp;oid=122137925&amp;loc=d3e14258-109268<br><br>Reference 5: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 45<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=99380562&amp;loc=d3e13770-109266<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(15))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_Goodwill</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InventoryNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount after valuation and LIFO reserves of inventory expected to be sold, or consumed within one year or operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=124098289&amp;loc=d3e6676-107765<br><br>Reference 3: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InventoryNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_Liabilities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Sum of the carrying amounts as of the balance sheet date of all liabilities that are recognized. Liabilities are probable future sacrifices of economic benefits arising from present obligations of an entity to transfer assets or provide services to other entities in the future.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.19-26)<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124433192&amp;loc=SL2890621-112765<br><br>Reference 3: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (d)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8906-108599<br><br>Reference 4: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=124433192&amp;loc=SL2890621-112765<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 45<br> -Paragraph 25<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=116870748&amp;loc=SL6758485-165988<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=123596393&amp;loc=d3e14064-108612<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (bb)<br> -URI https://asc.fasb.org/extlink&amp;oid=123419778&amp;loc=d3e5710-111685<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=123419778&amp;loc=d3e5710-111685<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 20: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_Liabilities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LiabilitiesAndStockholdersEquity">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of liabilities and equity items, including the portion of equity attributable to noncontrolling interests, if any.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(23))<br> -URI https://asc.fasb.org/extlink&amp;oid=126897435&amp;loc=d3e534808-122878<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(25))<br> -URI https://asc.fasb.org/extlink&amp;oid=126734703&amp;loc=d3e572229-122910<br><br>Reference 5: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(32))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 7: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=123596393&amp;loc=d3e14064-108612<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LiabilitiesAndStockholdersEquity</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LiabilitiesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Total obligations incurred as part of normal operations that are expected to be paid during the following twelve months or within one business cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124433192&amp;loc=SL2890621-112765<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 4: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=124433192&amp;loc=SL2890621-112765<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 45<br> -Paragraph 25<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=116870748&amp;loc=SL6758485-165988<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 7: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=123419778&amp;loc=d3e5710-111685<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (bb)<br> -URI https://asc.fasb.org/extlink&amp;oid=123419778&amp;loc=d3e5710-111685<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=123596393&amp;loc=d3e14064-108612<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 5<br> -URI https://asc.fasb.org/extlink&amp;oid=124098289&amp;loc=d3e6904-107765<br><br>Reference 21: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.21)<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LiabilitiesCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LiabilitiesCurrentAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LiabilitiesCurrentAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LongTermDebtCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, after unamortized (discount) premium and debt issuance costs, of long-term debt, classified as current. Includes, but not limited to, notes payable, bonds payable, debentures, mortgage loans and commercial paper. Excludes capital lease obligations.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.19,20)<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LongTermDebtCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LongTermDebtNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, excluding unamortized premium (discount) and debt issuance cost, of long-term debt classified as noncurrent. Excludes lease obligation.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(22))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LongTermDebtNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseLiabilityCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Present value of lessee's discounted obligation for lease payments from operating lease, classified as current.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=123391704&amp;loc=SL77918627-209977<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseLiabilityCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseLiabilityNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Present value of lessee's discounted obligation for lease payments from operating lease, classified as noncurrent.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=123391704&amp;loc=SL77918627-209977<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseLiabilityNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseRightOfUseAsset">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's right to use underlying asset under operating lease.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=123391704&amp;loc=SL77918627-209977<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseRightOfUseAsset</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherAssetsNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of noncurrent assets classified as other.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(17))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherAssetsNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherLiabilitiesNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of liabilities classified as other, due after one year or the normal operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.24)<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherLiabilitiesNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PreferredStockValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Aggregate par or stated value of issued nonredeemable preferred stock (or preferred stock redeemable solely at the option of the issuer). This item includes treasury stock repurchased by the entity. Note: elements for number of nonredeemable preferred shares, par value and other disclosure concepts are in another section within stockholders' equity.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PreferredStockValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PrepaidExpenseAndOtherAssetsCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of asset related to consideration paid in advance for costs that provide economic benefits in future periods, and amount of other assets that are expected to be realized or consumed within one year or the normal operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(9))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PrepaidExpenseAndOtherAssetsCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, after accumulated depreciation and amortization, of property, plant, and equipment and finance lease right-of-use asset.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=6391035&amp;loc=d3e2868-110229<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=128292326&amp;loc=SL77918686-209980<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RetainedEarningsAccumulatedDeficit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The cumulative amount of the reporting entity's undistributed earnings or deficit.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(30)(a)(3))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(23)(a)(4))<br> -URI https://asc.fasb.org/extlink&amp;oid=126734703&amp;loc=d3e572229-122910<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 40<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (h)(2)<br> -URI https://asc.fasb.org/extlink&amp;oid=124501264&amp;loc=SL117420844-207641<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -URI https://asc.fasb.org/extlink&amp;oid=120397183&amp;loc=d3e187085-122770<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 40<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (g)(2)(i)<br> -URI https://asc.fasb.org/extlink&amp;oid=124501264&amp;loc=SL117420844-207641<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RetainedEarningsAccumulatedDeficit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockholdersEquity">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Total of all stockholders' equity (deficit) items, net of receivables from officers, directors, owners, and affiliates of the entity which are attributable to the parent. The amount of the economic entity's stockholders' equity attributable to the parent excludes the amount of stockholders' equity which is allocable to that ownership interest in subsidiary equity which is not attributable to the parent (noncontrolling interest, minority interest). This excludes temporary equity and is sometimes called permanent equity.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 310<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB Topic 4.E)<br> -URI https://asc.fasb.org/extlink&amp;oid=122038336&amp;loc=d3e74512-122707<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(31))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(30))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 7: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=123596393&amp;loc=d3e14064-108612<br><br>Reference 8: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockholdersEquity</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockholdersEquityAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockholdersEquityAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TreasuryStockCommonValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount allocated to previously issued common shares repurchased by the issuing entity and held in treasury.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 30<br> -Section 45<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=6405813&amp;loc=d3e23239-112655<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 30<br> -Section 50<br> -Paragraph 4<br> -URI https://asc.fasb.org/extlink&amp;oid=6405834&amp;loc=d3e23315-112656<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.30)<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TreasuryStockCommonValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>13
<FILENAME>R3.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.1</span><table class="report" border="0" cellspacing="2" id="idm140418083693200">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>CONDENSED CONSOLIDATED BALANCE SHEETS (Parenthetical) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Mar. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StatementOfFinancialPositionAbstract', window );"><strong>CONDENSED CONSOLIDATED BALANCE SHEETS</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent', window );">Allowance for credit losses</a></td>
<td class="nump">$ 16,007<span></span>
</td>
<td class="nump">$ 16,281<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PreferredStockParOrStatedValuePerShare', window );">Preferred stock, par value (in dollars per share)</a></td>
<td class="nump">$ 0.01<span></span>
</td>
<td class="nump">$ 0.01<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PreferredStockSharesAuthorized', window );">Preferred stock, shares authorized</a></td>
<td class="nump">10,000,000<span></span>
</td>
<td class="nump">10,000,000<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PreferredStockSharesIssued', window );">Preferred stock, shares, issued</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PreferredStockSharesOutstanding', window );">Preferred stock, shares, outstanding</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CommonStockParOrStatedValuePerShare', window );">Common stock, par value (in dollars per share)</a></td>
<td class="nump">$ 0.01<span></span>
</td>
<td class="nump">$ 0.01<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CommonStockSharesAuthorized', window );">Common stock, shares authorized</a></td>
<td class="nump">250,000,000<span></span>
</td>
<td class="nump">250,000,000<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CommonStockSharesIssued', window );">Common stock, shares issued</a></td>
<td class="nump">39,465,688<span></span>
</td>
<td class="nump">39,325,916<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CommonStockSharesOutstanding', window );">Common stock, shares outstanding</a></td>
<td class="nump">31,750,010<span></span>
</td>
<td class="nump">31,642,832<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_TreasuryStockCommonShares', window );">Treasury stock, shares at cost</a></td>
<td class="nump">7,715,678<span></span>
</td>
<td class="nump">7,683,084<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of allowance for credit loss on accounts receivable, classified as current.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 310<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -URI https://asc.fasb.org/extlink&amp;oid=123577603&amp;loc=d3e5074-111524<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 326<br> -SubTopic 20<br> -Section 45<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=124255206&amp;loc=SL82895884-210446<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(4))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommonStockParOrStatedValuePerShare">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Face amount or stated value per share of common stock.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommonStockParOrStatedValuePerShare</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommonStockSharesAuthorized">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The maximum number of common shares permitted to be issued by an entity's charter and bylaws.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommonStockSharesAuthorized</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommonStockSharesIssued">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Total number of common shares of an entity that have been sold or granted to shareholders (includes common shares that were issued, repurchased and remain in the treasury). These shares represent capital invested by the firm's shareholders and owners, and may be all or only a portion of the number of shares authorized. Shares issued include shares outstanding and shares held in the treasury.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommonStockSharesIssued</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommonStockSharesOutstanding">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of shares of common stock outstanding. Common stock represent the ownership interest in a corporation.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=126973232&amp;loc=d3e21463-112644<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommonStockSharesOutstanding</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PreferredStockParOrStatedValuePerShare">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Face amount or stated value per share of preferred stock nonredeemable or redeemable solely at the option of the issuer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126973232&amp;loc=SL123496158-112644<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PreferredStockParOrStatedValuePerShare</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PreferredStockSharesAuthorized">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The maximum number of nonredeemable preferred shares (or preferred stock redeemable solely at the option of the issuer) permitted to be issued by an entity's charter and bylaws.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PreferredStockSharesAuthorized</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PreferredStockSharesIssued">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Total number of nonredeemable preferred shares (or preferred stock redeemable solely at the option of the issuer) issued to shareholders (includes related preferred shares that were issued, repurchased, and remain in the treasury). May be all or portion of the number of preferred shares authorized. Excludes preferred shares that are classified as debt.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126973232&amp;loc=SL123496158-112644<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PreferredStockSharesIssued</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PreferredStockSharesOutstanding">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Aggregate share number for all nonredeemable preferred stock (or preferred stock redeemable solely at the option of the issuer) held by stockholders. Does not include preferred shares that have been repurchased.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PreferredStockSharesOutstanding</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StatementOfFinancialPositionAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StatementOfFinancialPositionAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TreasuryStockCommonShares">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of previously issued common shares repurchased by the issuing entity and held in treasury.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 30<br> -Section 45<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=6405813&amp;loc=d3e23239-112655<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TreasuryStockCommonShares</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>14
<FILENAME>R4.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.1</span><table class="report" border="0" cellspacing="2" id="idm140418087786576">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>CONDENSED CONSOLIDATED STATEMENTS OF OPERATIONS - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Mar. 31, 2023</div></th>
<th class="th"><div>Mar. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeStatementAbstract', window );"><strong>CONDENSED CONSOLIDATED STATEMENTS OF OPERATIONS</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Net sales</a></td>
<td class="nump">$ 1,265,238<span></span>
</td>
<td class="nump">$ 1,168,918<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CostOfGoodsAndServicesSold', window );">Cost of sales</a></td>
<td class="nump">895,023<span></span>
</td>
<td class="nump">837,717<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_GrossProfit', window );">Gross profit</a></td>
<td class="nump">370,215<span></span>
</td>
<td class="nump">331,201<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SellingGeneralAndAdministrativeExpense', window );">Selling, general, and administrative expense</a></td>
<td class="nump">170,784<span></span>
</td>
<td class="nump">167,247<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingIncomeLoss', window );">Operating profit</a></td>
<td class="nump">199,431<span></span>
</td>
<td class="nump">163,954<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NonoperatingIncomeExpenseAbstract', window );"><strong>Other income (expense), net:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InterestExpense', window );">Interest expense</a></td>
<td class="num">(18,039)<span></span>
</td>
<td class="num">(11,966)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherNonoperatingIncomeExpense', window );">Other, net</a></td>
<td class="nump">1,923<span></span>
</td>
<td class="nump">684<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NonoperatingIncomeExpense', window );">Other expense, net</a></td>
<td class="num">(16,116)<span></span>
</td>
<td class="num">(11,282)<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest', window );">Income before income taxes</a></td>
<td class="nump">183,315<span></span>
</td>
<td class="nump">152,672<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxExpenseBenefit', window );">Income tax expense</a></td>
<td class="num">(47,445)<span></span>
</td>
<td class="num">(37,961)<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetIncomeLoss', window );">Net income</a></td>
<td class="nump">$ 135,870<span></span>
</td>
<td class="nump">$ 114,711<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EarningsPerShareAbstract', window );"><strong>Net income per common share:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EarningsPerShareBasic', window );">Basic</a></td>
<td class="nump">$ 4.31<span></span>
</td>
<td class="nump">$ 3.50<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EarningsPerShareDiluted', window );">Diluted</a></td>
<td class="nump">$ 4.28<span></span>
</td>
<td class="nump">$ 3.47<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EarningsPerShareReconciliationAbstract', window );"><strong>Weighted average shares outstanding:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic', window );">Basic</a></td>
<td class="nump">31,550,658<span></span>
</td>
<td class="nump">32,738,525<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding', window );">Diluted</a></td>
<td class="nump">31,713,239<span></span>
</td>
<td class="nump">33,042,490<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CostOfGoodsAndServicesSold">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The aggregate costs related to goods produced and sold and services rendered by an entity during the reporting period. This excludes costs incurred during the reporting period related to financial services rendered and other revenue generating activities.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 924<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 11.L)<br> -URI https://asc.fasb.org/extlink&amp;oid=6472922&amp;loc=d3e499488-122856<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.2(a),(d))<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868664-224227<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CostOfGoodsAndServicesSold</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EarningsPerShareAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerShareAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EarningsPerShareBasic">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The amount of net income (loss) for the period per each share of common stock or unit outstanding during the reporting period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 40<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (e)(4)<br> -URI https://asc.fasb.org/extlink&amp;oid=126732423&amp;loc=SL123482106-238011<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22583-107794<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22694-107794<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=d3e1448-109256<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22595-107794<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22694-107794<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 7<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=d3e1337-109256<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 40<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=126732423&amp;loc=SL123482106-238011<br><br>Reference 9: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 55<br> -Paragraph 52<br> -URI https://asc.fasb.org/extlink&amp;oid=128363288&amp;loc=d3e4984-109258<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(23))<br> -URI https://asc.fasb.org/extlink&amp;oid=120400993&amp;loc=SL114874131-224263<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 55<br> -Paragraph 15<br> -URI https://asc.fasb.org/extlink&amp;oid=128363288&amp;loc=d3e3842-109258<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22644-107794<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124432515&amp;loc=d3e3550-109257<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(25))<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868664-224227<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=d3e1252-109256<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (d)<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=SL5780133-109256<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(27))<br> -URI https://asc.fasb.org/extlink&amp;oid=120399700&amp;loc=SL114874048-224260<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerShareBasic</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EarningsPerShareDiluted">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The amount of net income (loss) for the period available to each share of common stock or common unit outstanding during the reporting period and to each share or unit that would have been outstanding assuming the issuance of common shares or units for all dilutive potential common shares or units outstanding during the reporting period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 55<br> -Paragraph 52<br> -URI https://asc.fasb.org/extlink&amp;oid=128363288&amp;loc=d3e4984-109258<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22644-107794<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 55<br> -Paragraph 15<br> -URI https://asc.fasb.org/extlink&amp;oid=128363288&amp;loc=d3e3842-109258<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=d3e1252-109256<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22694-107794<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22595-107794<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22583-107794<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (d)<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=SL5780133-109256<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 40<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=126732423&amp;loc=SL123482106-238011<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(27))<br> -URI https://asc.fasb.org/extlink&amp;oid=120399700&amp;loc=SL114874048-224260<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124432515&amp;loc=d3e3550-109257<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(23))<br> -URI https://asc.fasb.org/extlink&amp;oid=120400993&amp;loc=SL114874131-224263<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22694-107794<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 7<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=d3e1337-109256<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 40<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (e)(4)<br> -URI https://asc.fasb.org/extlink&amp;oid=126732423&amp;loc=SL123482106-238011<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(25))<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868664-224227<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerShareDiluted</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EarningsPerShareReconciliationAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerShareReconciliationAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GrossProfit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Aggregate revenue less cost of goods and services sold or operating expenses directly attributable to the revenue generation activity.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 31<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8924-108599<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8906-108599<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 9: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=123596393&amp;loc=d3e14064-108612<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 18: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.1,2)<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868664-224227<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GrossProfit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of income (loss) from continuing operations, including income (loss) from equity method investments, before deduction of income tax expense (benefit), and income (loss) attributable to noncontrolling interest.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8906-108599<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 940<br> -SubTopic 20<br> -Section 25<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=126941158&amp;loc=d3e41242-110953<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(10))<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868664-224227<br><br>Reference 7: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(8))<br> -URI https://asc.fasb.org/extlink&amp;oid=120400993&amp;loc=SL114874131-224263<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 235<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-05(b)(2))<br> -URI https://asc.fasb.org/extlink&amp;oid=120399901&amp;loc=d3e537907-122884<br><br>Reference 9: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 31<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8924-108599<br><br>Reference 10: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(15))<br> -URI https://asc.fasb.org/extlink&amp;oid=120399700&amp;loc=SL114874048-224260<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeStatementAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeStatementAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxExpenseBenefit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB TOPIC 6.I.7)<br> -URI https://asc.fasb.org/extlink&amp;oid=122134291&amp;loc=d3e330036-122817<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32672-109319<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (h)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22663-107794<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 20<br> -Section 45<br> -Paragraph 2<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=123586238&amp;loc=d3e38679-109324<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(9))<br> -URI https://asc.fasb.org/extlink&amp;oid=120400993&amp;loc=SL114874131-224263<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22658-107794<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxExpenseBenefit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InterestExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of the cost of borrowed funds accounted for as interest expense.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 835<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=6450988&amp;loc=d3e26243-108391<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 835<br> -SubTopic 30<br> -Section 45<br> -Paragraph 3<br> -URI https://asc.fasb.org/extlink&amp;oid=124435984&amp;loc=d3e28555-108399<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (d)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (210.5-03(11))<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868664-224227<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04.9)<br> -URI https://asc.fasb.org/extlink&amp;oid=120399700&amp;loc=SL114874048-224260<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InterestExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetIncomeLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The portion of profit or loss for the period, net of income taxes, which is attributable to the parent.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(22))<br> -URI https://asc.fasb.org/extlink&amp;oid=120399700&amp;loc=SL114874048-224260<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22595-107794<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(18))<br> -URI https://asc.fasb.org/extlink&amp;oid=120400993&amp;loc=SL114874131-224263<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 40<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=126732423&amp;loc=SL123482106-238011<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 50<br> -Paragraph 6<br> -URI https://asc.fasb.org/extlink&amp;oid=124431353&amp;loc=SL124452729-227067<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 8: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(20))<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868664-224227<br><br>Reference 9: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(2)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22499-107794<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22663-107794<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 17: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=123596393&amp;loc=d3e14064-108612<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22583-107794<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=SL5780133-109256<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22658-107794<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126968391&amp;loc=SL7669619-108580<br><br>Reference 25: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 31<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8924-108599<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22694-107794<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22694-107794<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 205<br> -SubTopic 20<br> -Section 50<br> -Paragraph 7<br> -URI https://asc.fasb.org/extlink&amp;oid=109222650&amp;loc=SL51721683-107760<br><br>Reference 29: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126968391&amp;loc=SL7669625-108580<br><br>Reference 30: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br><br>Reference 31: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 32: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 33: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 34: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8906-108599<br><br>Reference 35: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetIncomeLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NonoperatingIncomeExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The aggregate amount of income or expense from ancillary business-related activities (that is to say, excluding major activities considered part of the normal operations of the business).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.7)<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868664-224227<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NonoperatingIncomeExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NonoperatingIncomeExpenseAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NonoperatingIncomeExpenseAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingIncomeLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The net result for the period of deducting operating expenses from operating revenues.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 31<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8924-108599<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8906-108599<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingIncomeLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherNonoperatingIncomeExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of income (expense) related to nonoperating activities, classified as other.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.9)<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868664-224227<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherNonoperatingIncomeExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, excluding tax collected from customer, of revenue from satisfaction of performance obligation by transferring promised good or service to customer. Tax collected from customer is tax assessed by governmental authority that is both imposed on and concurrent with specific revenue-producing transaction, including, but not limited to, sales, use, value added and excise.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8906-108599<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 40<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e9031-108599<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 41<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e9038-108599<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126920106&amp;loc=SL49130543-203045<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 42<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e9054-108599<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 5<br> -URI https://asc.fasb.org/extlink&amp;oid=126920106&amp;loc=SL49130545-203045<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 924<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 11.L)<br> -URI https://asc.fasb.org/extlink&amp;oid=6472922&amp;loc=d3e499488-122856<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SellingGeneralAndAdministrativeExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The aggregate total costs related to selling a firm's product and services, as well as all other general and administrative expenses. Direct selling expenses (for example, credit, warranty, and advertising) are expenses that can be directly linked to the sale of specific products. Indirect selling expenses are expenses that cannot be directly linked to the sale of specific products, for example telephone expenses, Internet, and postal charges. General and administrative expenses include salaries of non-sales personnel, rent, utilities, communication, etc.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.4)<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868664-224227<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SellingGeneralAndAdministrativeExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The average number of shares or units issued and outstanding that are used in calculating diluted EPS or earnings per unit (EPU), determined based on the timing of issuance of shares or units in the period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124432515&amp;loc=d3e3550-109257<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 16<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=d3e1505-109256<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of [basic] shares or units, after adjustment for contingently issuable shares or units and other shares or units not deemed outstanding, determined by relating the portion of time within a reporting period that common shares or units have been outstanding to the total time in that period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124432515&amp;loc=d3e3550-109257<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=d3e1448-109256<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_WeightedAverageNumberOfSharesOutstandingBasic</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>15
<FILENAME>R5.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.1</span><table class="report" border="0" cellspacing="2" id="idm140418086282496">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>CONDENSED CONSOLIDATED STATEMENTS OF COMPREHENSIVE INCOME - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Mar. 31, 2023</div></th>
<th class="th"><div>Mar. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract', window );"><strong>CONDENSED CONSOLIDATED STATEMENTS OF COMPREHENSIVE INCOME</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetIncomeLoss', window );">Net income</a></td>
<td class="nump">$ 135,870<span></span>
</td>
<td class="nump">$ 114,711<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract', window );"><strong>Other comprehensive income:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax', window );">Foreign currency translation adjustment</a></td>
<td class="nump">1,753<span></span>
</td>
<td class="nump">3,218<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ComprehensiveIncomeNetOfTax', window );">Comprehensive income</a></td>
<td class="nump">$ 137,623<span></span>
</td>
<td class="nump">$ 117,929<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ComprehensiveIncomeNetOfTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount after tax of increase (decrease) in equity from transactions and other events and circumstances from net income and other comprehensive income, attributable to parent entity. Excludes changes in equity resulting from investments by owners and distributions to owners.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(22))<br> -URI https://asc.fasb.org/extlink&amp;oid=120400993&amp;loc=SL114874131-224263<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(24))<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868664-224227<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 5<br> -URI https://asc.fasb.org/extlink&amp;oid=126968391&amp;loc=d3e557-108580<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(26))<br> -URI https://asc.fasb.org/extlink&amp;oid=120399700&amp;loc=SL114874048-224260<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126968391&amp;loc=SL7669625-108580<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=126968391&amp;loc=SL7669619-108580<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ComprehensiveIncomeNetOfTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetIncomeLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The portion of profit or loss for the period, net of income taxes, which is attributable to the parent.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(22))<br> -URI https://asc.fasb.org/extlink&amp;oid=120399700&amp;loc=SL114874048-224260<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22595-107794<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(18))<br> -URI https://asc.fasb.org/extlink&amp;oid=120400993&amp;loc=SL114874131-224263<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 40<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=126732423&amp;loc=SL123482106-238011<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 50<br> -Paragraph 6<br> -URI https://asc.fasb.org/extlink&amp;oid=124431353&amp;loc=SL124452729-227067<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 8: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(20))<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868664-224227<br><br>Reference 9: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(2)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22499-107794<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22663-107794<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 17: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=123596393&amp;loc=d3e14064-108612<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22583-107794<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=SL5780133-109256<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22658-107794<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126968391&amp;loc=SL7669619-108580<br><br>Reference 25: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 31<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8924-108599<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22694-107794<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22694-107794<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 205<br> -SubTopic 20<br> -Section 50<br> -Paragraph 7<br> -URI https://asc.fasb.org/extlink&amp;oid=109222650&amp;loc=SL51721683-107760<br><br>Reference 29: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126968391&amp;loc=SL7669625-108580<br><br>Reference 30: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br><br>Reference 31: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 32: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 33: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 34: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8906-108599<br><br>Reference 35: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetIncomeLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount after tax, before reclassification adjustments of gain (loss) on foreign currency translation adjustments, foreign currency transactions designated and effective as economic hedges of a net investment in a foreign entity and intra-entity foreign currency transactions that are of a long-term-investment nature.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 830<br> -SubTopic 20<br> -Section 35<br> -Paragraph 3<br> -URI https://asc.fasb.org/extlink&amp;oid=123602790&amp;loc=d3e30304-110892<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 830<br> -SubTopic 10<br> -Section 45<br> -Paragraph 9<br> -URI https://asc.fasb.org/extlink&amp;oid=126980362&amp;loc=d3e28129-110885<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 830<br> -SubTopic 30<br> -Section 45<br> -Paragraph 12<br> -URI https://asc.fasb.org/extlink&amp;oid=118261656&amp;loc=d3e32022-110900<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 10A<br> -Subparagraph (a-c)<br> -URI https://asc.fasb.org/extlink&amp;oid=126968391&amp;loc=SL7669646-108580<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 11<br> -URI https://asc.fasb.org/extlink&amp;oid=126968391&amp;loc=d3e637-108580<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>16
<FILENAME>R6.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.1</span><table class="report" border="0" cellspacing="2" id="idm140418081005648">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>CONDENSED CONSOLIDATED STATEMENTS OF CASH FLOWS - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Mar. 31, 2023</div></th>
<th class="th"><div>Mar. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInOperatingActivitiesContinuingOperationsAbstract', window );"><strong>Cash Flows Provided by (Used in) Operating Activities:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProfitLoss', window );">Net income</a></td>
<td class="nump">$ 135,870<span></span>
</td>
<td class="nump">$ 114,711<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract', window );"><strong>Adjustments to reconcile net income to net cash provided by operating activities:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DepreciationDepletionAndAmortization', window );">Depreciation and amortization</a></td>
<td class="nump">32,100<span></span>
</td>
<td class="nump">30,499<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensation', window );">Share-based compensation</a></td>
<td class="nump">3,135<span></span>
</td>
<td class="nump">3,727<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_GainLossOnSaleOfPropertyPlantEquipment', window );">Loss on sale of property and equipment</a></td>
<td class="nump">185<span></span>
</td>
<td class="nump">207<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AmortizationOfFinancingCosts', window );">Amortization of debt issuance costs</a></td>
<td class="nump">720<span></span>
</td>
<td class="nump">706<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProvisionForDoubtfulAccounts', window );">Provision for bad debt expense</a></td>
<td class="nump">1,338<span></span>
</td>
<td class="nump">2,512<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InventoryWriteDown', window );">Loss from inventory obsolescence</a></td>
<td class="nump">1,642<span></span>
</td>
<td class="nump">868<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInDeferredIncomeTaxes', window );">Deferred income taxes, net</a></td>
<td class="nump">563<span></span>
</td>
<td class="num">(81)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract', window );"><strong>Change in certain assets and liabilities:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInAccountsReceivable', window );">Receivables, net</a></td>
<td class="num">(10,847)<span></span>
</td>
<td class="num">(65,031)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInInventories', window );">Inventories, net</a></td>
<td class="nump">20,096<span></span>
</td>
<td class="num">(38,570)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets', window );">Prepaid expenses and other current assets</a></td>
<td class="nump">11,579<span></span>
</td>
<td class="num">(2,347)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInAccountsPayable', window );">Accounts payable</a></td>
<td class="num">(25,480)<span></span>
</td>
<td class="nump">12,663<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInAccruedLiabilities', window );">Accrued liabilities</a></td>
<td class="num">(3,339)<span></span>
</td>
<td class="nump">29,523<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherOperatingActivitiesCashFlowStatement', window );">Other, net</a></td>
<td class="nump">2,239<span></span>
</td>
<td class="nump">96<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInOperatingActivities', window );">Net cash provided by operating activities</a></td>
<td class="nump">169,801<span></span>
</td>
<td class="nump">89,483<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInInvestingActivitiesContinuingOperationsAbstract', window );"><strong>Cash Flows Provided by (Used in) Investing Activities:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment', window );">Purchases of property and equipment</a></td>
<td class="num">(15,580)<span></span>
</td>
<td class="num">(18,413)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired', window );">Acquisition of businesses, net of cash acquired</a></td>
<td class="num">(45,845)<span></span>
</td>
<td class="num">(13,967)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment', window );">Proceeds from sale of property and equipment</a></td>
<td class="nump">455<span></span>
</td>
<td class="nump">253<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInInvestingActivities', window );">Net cash used in investing activities</a></td>
<td class="num">(60,970)<span></span>
</td>
<td class="num">(32,127)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInFinancingActivitiesContinuingOperationsAbstract', window );"><strong>Cash Flows Provided by (Used in) Financing Activities:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RepaymentsOfLongTermDebt', window );">Repayment of long-term debt</a></td>
<td class="num">(9,743)<span></span>
</td>
<td class="num">(9,634)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation', window );">Taxes withheld and paid on employees' equity awards</a></td>
<td class="num">(6,350)<span></span>
</td>
<td class="num">(11,658)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProceedsFromStockOptionsExercised', window );">Exercise of stock options</a></td>
<td class="nump">1,029<span></span>
</td>
<td class="nump">808<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PaymentsForRepurchaseOfCommonStock', window );">Repurchase of shares of common stock</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(50,000)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PaymentForContingentConsiderationLiabilityFinancingActivities', window );">Payment of contingent consideration</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(23)<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInFinancingActivities', window );">Net cash used in financing activities</a></td>
<td class="num">(15,064)<span></span>
</td>
<td class="num">(70,507)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffectAbstract', window );"><strong>Cash and Cash Equivalents</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents', window );">Impact of exchange rate changes on cash</a></td>
<td class="num">(58)<span></span>
</td>
<td class="num">(75)<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect', window );">Net increase (decrease) in cash and cash equivalents</a></td>
<td class="nump">93,709<span></span>
</td>
<td class="num">(13,226)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents', window );">Cash and cash equivalents- Beginning of period</a></td>
<td class="nump">240,069<span></span>
</td>
<td class="nump">139,779<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents', window );">Cash and cash equivalents- End of period</a></td>
<td class="nump">333,778<span></span>
</td>
<td class="nump">126,553<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherNoncashInvestingAndFinancingItemsAbstract', window );"><strong>Supplemental disclosure of noncash activities:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability', window );">Leased assets obtained in exchange for new operating lease liabilities</a></td>
<td class="nump">18,271<span></span>
</td>
<td class="nump">22,449<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CapitalExpendituresIncurredButNotYetPaid', window );">Accruals for property and equipment</a></td>
<td class="nump">$ 835<span></span>
</td>
<td class="nump">$ 213<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AmortizationOfFinancingCosts">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of amortization expense attributable to debt issuance costs.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(8))<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868664-224227<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1F<br> -Subparagraph (b)(2)<br> -URI https://asc.fasb.org/extlink&amp;oid=123466505&amp;loc=SL123495355-112611<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 835<br> -SubTopic 30<br> -Section 45<br> -Paragraph 3<br> -URI https://asc.fasb.org/extlink&amp;oid=124435984&amp;loc=d3e28555-108399<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AmortizationOfFinancingCosts</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CapitalExpendituresIncurredButNotYetPaid">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Future cash outflow to pay for purchases of fixed assets that have occurred.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 50<br> -Paragraph 5<br> -URI https://asc.fasb.org/extlink&amp;oid=126999549&amp;loc=d3e4332-108586<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -URI https://asc.fasb.org/extlink&amp;oid=126999549&amp;loc=d3e4313-108586<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI https://asc.fasb.org/extlink&amp;oid=126999549&amp;loc=d3e4304-108586<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CapitalExpendituresIncurredButNotYetPaid</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of cash and cash equivalents, and cash and cash equivalents restricted to withdrawal or usage. Excludes amount for disposal group and discontinued operations. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 24<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3521-108585<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 4<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3044-108585<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI https://asc.fasb.org/extlink&amp;oid=126999549&amp;loc=SL98516268-108586<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of increase (decrease) in cash, cash equivalents, and cash and cash equivalents restricted to withdrawal or usage; including effect from exchange rate change. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 830<br> -SubTopic 230<br> -Section 45<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=123444420&amp;loc=d3e33268-110906<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 24<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3521-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffectAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffectAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DepreciationDepletionAndAmortization">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The aggregate expense recognized in the current period that allocates the cost of tangible assets, intangible assets, or depleting assets to periods that benefit from use of the assets.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (e)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DepreciationDepletionAndAmortization</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of increase (decrease) from effect of exchange rate changes on cash and cash equivalents, and cash and cash equivalents restricted to withdrawal or usage; held in foreign currencies. Excludes amounts for disposal group and discontinued operations. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 830<br> -SubTopic 230<br> -Section 45<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=123444420&amp;loc=d3e33268-110906<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GainLossOnSaleOfPropertyPlantEquipment">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of gain (loss) on sale or disposal of property, plant and equipment assets, including oil and gas property and timber property.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GainLossOnSaleOfPropertyPlantEquipment</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInAccountsPayable">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The increase (decrease) during the reporting period in the aggregate amount of liabilities incurred (and for which invoices have typically been received) and payable to vendors for goods and services received that are used in an entity's business.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInAccountsPayable</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInAccountsReceivable">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The increase (decrease) during the reporting period in amount due within one year (or one business cycle) from customers for the credit sale of goods and services.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInAccountsReceivable</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInAccruedLiabilities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The increase (decrease) during the reporting period in the aggregate amount of expenses incurred but not yet paid.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInAccruedLiabilities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInDeferredIncomeTaxes">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The increase (decrease) during the reporting period in the account that represents the temporary difference that results from Income or Loss that is recognized for accounting purposes but not for tax purposes and vice versa.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInDeferredIncomeTaxes</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInInventories">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The increase (decrease) during the reporting period in the aggregate value of all inventory held by the reporting entity, associated with underlying transactions that are classified as operating activities.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInInventories</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInOperatingCapitalAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of increase (decrease) in prepaid expenses, and assets classified as other.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InventoryWriteDown">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of loss from reductions in inventory due to subsequent measurement adjustments, including, but not limited to, physical deterioration, obsolescence, or changes in price levels.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 330<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=116847112&amp;loc=d3e4542-108314<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InventoryWriteDown</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetCashProvidedByUsedInFinancingActivities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of cash inflow (outflow) from financing activities, including discontinued operations. Financing activity cash flows include obtaining resources from owners and providing them with a return on, and a return of, their investment; borrowing money and repaying amounts borrowed, or settling the obligation; and obtaining and paying for other resources obtained from creditors on long-term credit.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 24<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3521-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetCashProvidedByUsedInFinancingActivities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetCashProvidedByUsedInFinancingActivitiesContinuingOperationsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetCashProvidedByUsedInFinancingActivitiesContinuingOperationsAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetCashProvidedByUsedInInvestingActivities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of cash inflow (outflow) from investing activities, including discontinued operations. Investing activity cash flows include making and collecting loans and acquiring and disposing of debt or equity instruments and property, plant, and equipment and other productive assets.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 24<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3521-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetCashProvidedByUsedInInvestingActivities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetCashProvidedByUsedInInvestingActivitiesContinuingOperationsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetCashProvidedByUsedInInvestingActivitiesContinuingOperationsAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetCashProvidedByUsedInOperatingActivities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of cash inflow (outflow) from operating activities, including discontinued operations. Operating activity cash flows include transactions, adjustments, and changes in value not defined as investing or financing activities.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 25<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3536-108585<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 24<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3521-108585<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetCashProvidedByUsedInOperatingActivities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetCashProvidedByUsedInOperatingActivitiesContinuingOperationsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetCashProvidedByUsedInOperatingActivitiesContinuingOperationsAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherNoncashInvestingAndFinancingItemsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherNoncashInvestingAndFinancingItemsAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherOperatingActivitiesCashFlowStatement">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Other cash or noncash adjustments to reconcile net income to cash provided by (used in) operating activities that are not separately disclosed in the statement of cash flows (for example, cash received or cash paid during the current period for miscellaneous operating activities, net change during the reporting period in other assets or other liabilities).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherOperatingActivitiesCashFlowStatement</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PaymentForContingentConsiderationLiabilityFinancingActivities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of cash outflow, not made soon after acquisition date of business combination, to settle contingent consideration liability up to amount recognized at acquisition date, including, but not limited to, measurement period adjustment and less amount paid soon after acquisition date.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 15<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3291-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PaymentForContingentConsiderationLiabilityFinancingActivities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PaymentsForRepurchaseOfCommonStock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The cash outflow to reacquire common stock during the period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 15<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3291-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PaymentsForRepurchaseOfCommonStock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of cash outflow to satisfy grantee's tax withholding obligation for award under share-based payment arrangement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 15<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3291-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The cash outflow associated with the acquisition of a business, net of the cash acquired from the purchase.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 13<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3213-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The cash outflow associated with the acquisition of long-lived, physical assets that are used in the normal conduct of business to produce goods and services and not intended for resale; includes cash outflows to pay for construction of self-constructed assets.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 13<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3213-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PaymentsToAcquirePropertyPlantAndEquipment</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The cash inflow from the sale of long-lived, physical assets that are used in the normal conduct of business to produce goods and services and not intended for resale.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 12<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3179-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ProceedsFromStockOptionsExercised">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of cash inflow from exercise of option under share-based payment arrangement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2A<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=SL79508275-113901<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 14<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3255-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProceedsFromStockOptionsExercised</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ProfitLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The consolidated profit or loss for the period, net of income taxes, including the portion attributable to the noncontrolling interest.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126968391&amp;loc=SL7669619-108580<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1A<br> -Subparagraph (a)(1)<br> -URI https://asc.fasb.org/extlink&amp;oid=109239629&amp;loc=SL4573702-111684<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22663-107794<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 40<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=126732423&amp;loc=SL123482106-238011<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 12: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 50<br> -Paragraph 6<br> -URI https://asc.fasb.org/extlink&amp;oid=124431353&amp;loc=SL124452729-227067<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8906-108599<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3000-108585<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 45<br> -Paragraph 19<br> -URI https://asc.fasb.org/extlink&amp;oid=126929396&amp;loc=SL4569616-111683<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 205<br> -SubTopic 20<br> -Section 50<br> -Paragraph 7<br> -URI https://asc.fasb.org/extlink&amp;oid=109222650&amp;loc=SL51721683-107760<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(2)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22499-107794<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=123596393&amp;loc=d3e14064-108612<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 235<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-05(b)(2))<br> -URI https://asc.fasb.org/extlink&amp;oid=120399901&amp;loc=d3e537907-122884<br><br>Reference 23: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 31<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8924-108599<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126968391&amp;loc=SL7669625-108580<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 29: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 30: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1A<br> -Subparagraph (c)(1)<br> -URI https://asc.fasb.org/extlink&amp;oid=109239629&amp;loc=SL4573702-111684<br><br>Reference 31: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 55<br> -Paragraph 4J<br> -URI https://asc.fasb.org/extlink&amp;oid=120409616&amp;loc=SL4591551-111686<br><br>Reference 32: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 55<br> -Paragraph 4K<br> -URI https://asc.fasb.org/extlink&amp;oid=120409616&amp;loc=SL4591552-111686<br><br>Reference 33: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22658-107794<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProfitLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ProvisionForDoubtfulAccounts">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of expense (reversal of expense) for expected credit loss on accounts receivable.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 326<br> -SubTopic 20<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=124255953&amp;loc=SL82919249-210447<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868664-224227<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProvisionForDoubtfulAccounts</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RepaymentsOfLongTermDebt">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The cash outflow for debt initially having maturity due after one year or beyond the normal operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 15<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3291-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RepaymentsOfLongTermDebt</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of increase in right-of-use asset obtained in exchange for operating lease liability.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 55<br> -Paragraph 53<br> -URI https://asc.fasb.org/extlink&amp;oid=123414884&amp;loc=SL77918982-209971<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (g)(2)<br> -URI https://asc.fasb.org/extlink&amp;oid=128292326&amp;loc=SL77918686-209980<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of noncash expense for share-based payment arrangement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>17
<FILENAME>R7.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.1</span><table class="report" border="0" cellspacing="2" id="idm140418083751184">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>CONDENSED CONSOLIDATED STATEMENTS OF CHANGES IN EQUITY - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Common Stock</div></th>
<th class="th"><div>Treasury Stock at Cost</div></th>
<th class="th"><div>Additional Paid-in Capital</div></th>
<th class="th"><div>Retained Earnings</div></th>
<th class="th"><div>Accumulated Other Comprehensive Income</div></th>
<th class="th"><div>Total</div></th>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Balance at Dec. 31, 2021</a></td>
<td class="nump">$ 391<span></span>
</td>
<td class="num">$ (431,030)<span></span>
</td>
<td class="nump">$ 873,031<span></span>
</td>
<td class="nump">$ 1,200,676<span></span>
</td>
<td class="num">$ (6,634)<span></span>
</td>
<td class="nump">$ 1,636,434<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward', window );"><strong>Increase (Decrease) in Stockholders' Equity</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetIncomeLoss', window );">Net income</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">114,711<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">114,711<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue', window );">Share-based compensation</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">3,727<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">3,727<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardGross', window );">Issuance of restricted share awards under long-term equity incentive plan</a></td>
<td class="nump">2<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(2)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_bld_TreasuryStockValueAcquiredCostMethodShareRepurchaseProgram', window );">Repurchase of shares</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(50,000)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(50,000)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation', window );">Shares withheld to pay taxes on employees' equity awards</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(11,658)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(11,658)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised', window );">Shares issued upon exercise of stock options</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">808<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">808<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeLossNetOfTax', window );">Other comprehensive income, net of tax</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">3,218<span></span>
</td>
<td class="nump">3,218<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Balance at Mar. 31, 2022</a></td>
<td class="nump">393<span></span>
</td>
<td class="num">(492,688)<span></span>
</td>
<td class="nump">877,564<span></span>
</td>
<td class="nump">1,315,387<span></span>
</td>
<td class="num">(3,416)<span></span>
</td>
<td class="nump">1,697,240<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Balance at Dec. 31, 2022</a></td>
<td class="nump">393<span></span>
</td>
<td class="num">(692,799)<span></span>
</td>
<td class="nump">887,367<span></span>
</td>
<td class="nump">1,756,665<span></span>
</td>
<td class="num">(21,920)<span></span>
</td>
<td class="nump">1,929,706<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward', window );"><strong>Increase (Decrease) in Stockholders' Equity</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetIncomeLoss', window );">Net income</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">135,870<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">135,870<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue', window );">Share-based compensation</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">3,135<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">3,135<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardGross', window );">Issuance of restricted share awards under long-term equity incentive plan</a></td>
<td class="nump">2<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">2<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation', window );">Shares withheld to pay taxes on employees' equity awards</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(6,350)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(6,350)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised', window );">Shares issued upon exercise of stock options</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,028<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,028<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeLossNetOfTax', window );">Other comprehensive income, net of tax</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,753<span></span>
</td>
<td class="nump">1,753<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Balance at Mar. 31, 2023</a></td>
<td class="nump">$ 395<span></span>
</td>
<td class="num">$ (699,149)<span></span>
</td>
<td class="nump">$ 891,530<span></span>
</td>
<td class="nump">$ 1,892,535<span></span>
</td>
<td class="num">$ (20,167)<span></span>
</td>
<td class="nump">$ 2,065,144<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_bld_TreasuryStockValueAcquiredCostMethodShareRepurchaseProgram">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Equity impact of the cost of common stock that was repurchased during the period pursuant to the Share Repurchase Program.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">bld_TreasuryStockValueAcquiredCostMethodShareRepurchaseProgram</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>bld_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of decrease to equity for grantee's tax withholding obligation for award under share-based payment arrangement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of increase to additional paid-in capital (APIC) for recognition of cost for award under share-based payment arrangement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 20<br> -Section 55<br> -Paragraph 12<br> -URI https://asc.fasb.org/extlink&amp;oid=126964447&amp;loc=d3e11149-113907<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 20<br> -Section 55<br> -Paragraph 13<br> -URI https://asc.fasb.org/extlink&amp;oid=126964447&amp;loc=d3e11178-113907<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 35<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=126961718&amp;loc=d3e4534-113899<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInStockholdersEquityRollForward</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetIncomeLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The portion of profit or loss for the period, net of income taxes, which is attributable to the parent.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(22))<br> -URI https://asc.fasb.org/extlink&amp;oid=120399700&amp;loc=SL114874048-224260<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22595-107794<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(18))<br> -URI https://asc.fasb.org/extlink&amp;oid=120400993&amp;loc=SL114874131-224263<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 40<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=126732423&amp;loc=SL123482106-238011<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 50<br> -Paragraph 6<br> -URI https://asc.fasb.org/extlink&amp;oid=124431353&amp;loc=SL124452729-227067<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 8: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(20))<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868664-224227<br><br>Reference 9: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(2)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22499-107794<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22663-107794<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 17: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=123596393&amp;loc=d3e14064-108612<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22583-107794<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=SL5780133-109256<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22658-107794<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126968391&amp;loc=SL7669619-108580<br><br>Reference 25: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 31<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8924-108599<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22694-107794<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22694-107794<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 205<br> -SubTopic 20<br> -Section 50<br> -Paragraph 7<br> -URI https://asc.fasb.org/extlink&amp;oid=109222650&amp;loc=SL51721683-107760<br><br>Reference 29: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126968391&amp;loc=SL7669625-108580<br><br>Reference 30: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br><br>Reference 31: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 32: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 33: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 34: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8906-108599<br><br>Reference 35: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetIncomeLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherComprehensiveIncomeLossNetOfTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount after tax and reclassification adjustments of other comprehensive income (loss).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126968391&amp;loc=SL7669619-108580<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -URI https://asc.fasb.org/extlink&amp;oid=124431353&amp;loc=SL124442407-227067<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=126973232&amp;loc=d3e21463-112644<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 830<br> -SubTopic 30<br> -Section 45<br> -Paragraph 17<br> -URI https://asc.fasb.org/extlink&amp;oid=118261656&amp;loc=d3e32136-110900<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(21))<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868664-224227<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 55<br> -Paragraph 15<br> -URI https://asc.fasb.org/extlink&amp;oid=124507222&amp;loc=d3e1436-108581<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 830<br> -SubTopic 30<br> -Section 45<br> -Paragraph 20<br> -URI https://asc.fasb.org/extlink&amp;oid=118261656&amp;loc=d3e32211-110900<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 830<br> -SubTopic 30<br> -Section 50<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=6450520&amp;loc=d3e32583-110901<br><br>Reference 9: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 50<br> -Paragraph 5<br> -URI https://asc.fasb.org/extlink&amp;oid=124431353&amp;loc=SL124442411-227067<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126968391&amp;loc=SL7669625-108580<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(23))<br> -URI https://asc.fasb.org/extlink&amp;oid=120399700&amp;loc=SL114874048-224260<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(19))<br> -URI https://asc.fasb.org/extlink&amp;oid=120400993&amp;loc=SL114874131-224263<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherComprehensiveIncomeLossNetOfTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardGross">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Aggregate value of stock related to Restricted Stock Awards issued during the period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -URI https://asc.fasb.org/extlink&amp;oid=120397183&amp;loc=d3e187085-122770<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=126973232&amp;loc=d3e21463-112644<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardGross</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Value of stock issued as a result of the exercise of stock options.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=126973232&amp;loc=d3e21463-112644<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -URI https://asc.fasb.org/extlink&amp;oid=120397183&amp;loc=d3e187085-122770<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.29-31)<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockholdersEquity">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Total of all stockholders' equity (deficit) items, net of receivables from officers, directors, owners, and affiliates of the entity which are attributable to the parent. The amount of the economic entity's stockholders' equity attributable to the parent excludes the amount of stockholders' equity which is allocable to that ownership interest in subsidiary equity which is not attributable to the parent (noncontrolling interest, minority interest). This excludes temporary equity and is sometimes called permanent equity.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 310<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB Topic 4.E)<br> -URI https://asc.fasb.org/extlink&amp;oid=122038336&amp;loc=d3e74512-122707<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(31))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(30))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 7: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=123596393&amp;loc=d3e14064-108612<br><br>Reference 8: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockholdersEquity</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>18
<FILENAME>R8.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.1</span><table class="report" border="0" cellspacing="2" id="idm140418086247120">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>CONDENSED CONSOLIDATED STATEMENTS OF CHANGES IN EQUITY (Parenthetical) - $ / shares<br></strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Mar. 31, 2023</div></th>
<th class="th"><div>Mar. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StatementOfStockholdersEquityAbstract', window );"><strong>CONDENSED CONSOLIDATED STATEMENTS OF CHANGES IN EQUITY</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CommonStockParOrStatedValuePerShare', window );">Common stock, par value (in dollars per share)</a></td>
<td class="nump">$ 0.01<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardGross', window );">Issuance of restricted share awards under long-term equity incentive plan (in shares)</a></td>
<td class="nump">95,012<span></span>
</td>
<td class="nump">52,940<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_bld_TreasuryStockSharesAcquiredCostMethodShareRepurchaseProgram', window );">Repurchase of shares (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">238,154<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation', window );">Number of shares withheld to pay taxes on employees' equity awards (in shares)</a></td>
<td class="nump">32,594<span></span>
</td>
<td class="nump">53,073<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised', window );">Shares issued upon exercise of stock options (in shares)</a></td>
<td class="nump">28,840<span></span>
</td>
<td class="nump">12,269<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_bld_TreasuryStockSharesAcquiredCostMethodShareRepurchaseProgram">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of shares that have been repurchased during the period pursuant to the Share Repurchase Program and are being held in treasury.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">bld_TreasuryStockSharesAcquiredCostMethodShareRepurchaseProgram</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>bld_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommonStockParOrStatedValuePerShare">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Face amount or stated value per share of common stock.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommonStockParOrStatedValuePerShare</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of shares used to settle grantee's tax withholding obligation for award under share-based payment arrangement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StatementOfStockholdersEquityAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StatementOfStockholdersEquityAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardGross">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Total number of shares issued during the period, including shares forfeited, as a result of Restricted Stock Awards.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=126973232&amp;loc=d3e21463-112644<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -URI https://asc.fasb.org/extlink&amp;oid=120397183&amp;loc=d3e187085-122770<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardGross</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of share options (or share units) exercised during the current period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(02)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -URI https://asc.fasb.org/extlink&amp;oid=120397183&amp;loc=d3e187085-122770<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=126973232&amp;loc=d3e21463-112644<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>19
<FILENAME>R9.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.1</span><table class="report" border="0" cellspacing="2" id="idm140418088491040">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Basis of Presentation<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Mar. 31, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract', window );"><strong>Summary of Significant Accounting Policies</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessDescriptionAndBasisOfPresentationTextBlock', window );">Basis of Presentation</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><b style="font-weight:bold;">1. &#160;BASIS OF PRESENTATION</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;">TopBuild was formed on June&#160;30,&#160;2015, and is listed on the NYSE under the ticker symbol &#8220;BLD.&#8221; &#160;We report our business in two segments: Installation and Specialty Distribution. &#160;Our Installation segment primarily installs insulation and other building products. &#160;Our Specialty Distribution segment primarily sells and distributes insulation and other building products. &#160;Our segments are based on our operating units, for which financial information is regularly evaluated by our chief operating decision maker.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;">We believe the accompanying unaudited condensed consolidated financial statements contain all adjustments, of a normal recurring nature, necessary to state fairly our financial position as of March 31, 2023, our results of operations, comprehensive income and cash flows for the three months ended March 31, 2023 and 2022.&#160;&#160;The condensed consolidated balance sheet at December&#160;31,&#160;2022 was derived from our audited financial statements, but does not include all disclosures required by GAAP.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;">These condensed consolidated financial statements and related notes should be read in conjunction with the audited Consolidated Financial Statements included in the Company&#8217;s Annual Report for the year ended December&#160;31,&#160;2022 as filed with the SEC on February 23, 2023.</p><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessDescriptionAndBasisOfPresentationTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for the business description and basis of presentation concepts. Business description describes the nature and type of organization including but not limited to organizational structure as may be applicable to holding companies, parent and subsidiary relationships, business divisions, business units, business segments, affiliates and information about significant ownership of the reporting entity. Basis of presentation describes the underlying basis used to prepare the financial statements (for example, US Generally Accepted Accounting Principles, Other Comprehensive Basis of Accounting, IFRS).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -URI https://asc.fasb.org/topic&amp;trid=2122369<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 205<br> -URI https://asc.fasb.org/topic&amp;trid=2122149<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 275<br> -URI https://asc.fasb.org/topic&amp;trid=2134479<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessDescriptionAndBasisOfPresentationTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>20
<FILENAME>R10.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.1</span><table class="report" border="0" cellspacing="2" id="idm140418097131680">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Accounting Policies<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Mar. 31, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccountingPoliciesAbstract', window );"><strong>Accounting Policies</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SignificantAccountingPoliciesTextBlock', window );">Accounting Policies</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="font-family:'TimesNewRoman';font-weight:bold;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><b style="font-family:'TimesNewRoman';font-weight:bold;">2. &#160;ACCOUNTING POLICIES</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="font-family:'TimesNewRoman';visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="font-family:'TimesNewRoman';font-style:italic;font-weight:bold;">Financial Statement Presentation.</span><span style="font-family:'TimesNewRoman';"> &#160;Our condensed consolidated financial statements have been developed in conformity with GAAP, which requires management to make estimates and assumptions. &#160;These estimates and assumptions affect the reported amounts of assets and liabilities and disclosures of contingent liabilities at the date of the financial statements, as well as the reported amounts of revenues and expenses during the reporting periods. &#160;Actual results could differ materially from these estimates. &#160;All intercompany transactions between TopBuild entities have been eliminated.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="font-family:'TimesNewRoman';visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="font-family:'TimesNewRoman';font-style:italic;font-weight:bold;">Recently Adopted Accounting Pronouncements</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="font-family:'TimesNewRoman';font-style:italic;font-weight:bold;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;">In October 2021, the FASB issued ASU 2021-08, &#8220;Accounting for Contract Assets and Contract Liabilities from Contracts with Customers&#8221;.&#160; This standard improves the accounting for acquired revenue contracts with customers in a business combination by addressing diversity in practice and inconsistency related to recognition of an acquired contract liability, as well as payment terms and their effect on subsequent revenue recognized by the acquirer.  This standard became effective for us on January 1, 2023, and did not have a material impact to our financial statements upon adoption.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccountingPoliciesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccountingPoliciesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SignificantAccountingPoliciesTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for all significant accounting policies of the reporting entity.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=126899994&amp;loc=d3e18726-107790<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -URI https://asc.fasb.org/topic&amp;trid=2122369<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SignificantAccountingPoliciesTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>21
<FILENAME>R11.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.1</span><table class="report" border="0" cellspacing="2" id="idm140418097131680">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Revenue Recognition<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Mar. 31, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerAbstract', window );"><strong>Revenue Recognition</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerTextBlock', window );">Revenue Recognition</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><b style="font-family:'TimesNewRomanPSMT';font-weight:bold;">3. &#160;REVENUE RECOGNITION</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;">Revenue is disaggregated between our Installation and Specialty Distribution segments and further <span style="font-family:'TimesNewRomanPSMT';">based on market and product, as we believe this best depicts how the nature, amount, timing, and uncertainty of revenue and cash flows are affected by economic factors.</span> &#160;</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="font-family:'TimesNewRomanPSMT';">The following table presents our revenues disaggregated by market (in thousands):</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="font-family:'TimesNewRomanPSMT';visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;white-space:nowrap;width:16.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:9.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:9.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:16.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="23" style="vertical-align:bottom;white-space:nowrap;width:82.51%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Three Months Ended March&#160;31,&#160;</b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:16.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td colspan="11" style="vertical-align:bottom;white-space:nowrap;width:40.98%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="11" style="vertical-align:bottom;white-space:nowrap;width:41.02%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:16.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.57%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-size:8.5pt;font-weight:bold;">Installation</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:8.5pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8.5pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:9.14%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-size:8.5pt;font-weight:bold;">Specialty Distribution</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8.5pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8.5pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-size:8.5pt;font-weight:bold;">Eliminations</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8.5pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8.5pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.53%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-size:8.5pt;font-weight:bold;">Total</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8.5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8.5pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.58%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-size:8.5pt;font-weight:bold;">Installation</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:8.5pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8.5pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:9.14%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-size:8.5pt;font-weight:bold;">Specialty Distribution</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8.5pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8.5pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-size:8.5pt;font-weight:bold;">Eliminations</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8.5pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8.5pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-size:8.5pt;font-weight:bold;">Total</b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:16.79%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">Residential</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.69%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 645,703</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.14%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 224,326</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt;"> (51,390)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 818,639</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 563,303</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.14%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 236,411</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt;"> (43,421)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 756,293</p></td></tr><tr><td style="vertical-align:bottom;width:16.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">Commercial/Industrial</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.57%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 121,387</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.14%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 334,049</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt;"> (8,837)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.53%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 446,599</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.58%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 113,390</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.14%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 307,451</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt;"> (8,216)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 412,625</p></td></tr><tr><td style="vertical-align:bottom;width:16.79%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt 0pt 0pt 6pt;"><span style="white-space:pre-wrap;">   Net sales</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.69%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.57%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 767,090</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.14%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 558,375</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.54%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt;"> (60,227)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.53%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,265,238</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.58%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 676,693</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.14%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 543,862</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.54%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt;"> (51,637)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,168,918</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="font-family:'TimesNewRomanPSMT';visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="font-family:'TimesNewRomanPSMT';">The following table presents our revenues disaggregated by product (in thousands):</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="font-family:'TimesNewRomanPSMT';visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;white-space:nowrap;width:19.36%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:0.7%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.07%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:0.06%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;width:9.14%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:0.06%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.54%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:0.06%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.54%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:0.06%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.57%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:0.06%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;width:9.14%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:0.06%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.54%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:0.06%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.51%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:19.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="23" style="vertical-align:bottom;white-space:nowrap;width:79.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Three Months Ended March&#160;31,&#160;</b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:19.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td colspan="11" style="vertical-align:bottom;white-space:nowrap;width:40.2%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="11" style="vertical-align:bottom;white-space:nowrap;width:39.66%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:19.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.07%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-size:8.5pt;font-weight:bold;">Installation</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:8.5pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8.5pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:9.14%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-size:8.5pt;font-weight:bold;">Specialty Distribution</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:8.5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:8.5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-size:8.5pt;font-weight:bold;">Eliminations</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:8.5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:8.5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-size:8.5pt;font-weight:bold;">Total</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8.5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8.5pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.57%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-size:8.5pt;font-weight:bold;">Installation</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:8.5pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8.5pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:9.14%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-size:8.5pt;font-weight:bold;">Specialty Distribution</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:8.5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:8.5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-size:8.5pt;font-weight:bold;">Eliminations</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:8.5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:8.5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.51%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-size:8.5pt;font-weight:bold;">Total</b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:19.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">Insulation and accessories</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.07%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 600,767</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.14%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 502,802</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt;"> (51,973)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,051,596</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 536,341</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.14%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 479,760</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt;"> (43,810)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 972,291</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:19.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">Glass and windows</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 63,442</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="font-family:'Arial','Helvetica','sans-serif';"> -</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 63,442</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 51,196</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="font-family:'Arial','Helvetica','sans-serif';"> -</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="font-family:'Arial','Helvetica','sans-serif';"> -</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 51,196</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:19.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">Gutters</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.07%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 28,278</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.14%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 39,842</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt;"> (7,165)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 60,955</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 22,957</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.14%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 46,631</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt;"> (7,002)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 62,586</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:19.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">All other</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.07%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 74,603</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.14%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 15,731</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt;"> (1,089)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 89,245</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.57%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 66,199</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.14%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 17,471</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt;"> (825)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.51%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 82,845</p></td></tr><tr><td style="vertical-align:bottom;width:19.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"><span style="white-space:pre-wrap;">        Net sales</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.07%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 767,090</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.14%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 558,375</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.54%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt;"> (60,227)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.54%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,265,238</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.57%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 676,693</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.14%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 543,862</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.54%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt;"> (51,637)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.51%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,168,918</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="font-family:'TimesNewRomanPSMT';visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;">The following table represents our contract assets and contract liabilities with customers, in thousands:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;white-space:nowrap;width:34.66%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:34.66%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.26%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.3%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:34.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:34.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Included in Line Item on</b></p></td><td style="vertical-align:bottom;width:1.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:29.13%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">As of </b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:34.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:34.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Condensed Consolidated</b></p></td><td style="vertical-align:bottom;width:1.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">March&#160;31,&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">December&#160;31,&#160;</b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:34.66%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:34.66%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Balance Sheets</b></p></td><td style="vertical-align:bottom;width:1.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.78%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.82%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:34.66%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">Contract Assets:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:34.66%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:34.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;">Receivables, unbilled</p></td><td style="vertical-align:bottom;white-space:nowrap;width:34.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;">Receivables, net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 78,034</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 75,481</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:34.66%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:34.66%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:34.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">Contract Liabilities:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:34.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:34.66%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;">Deferred revenue</p></td><td style="vertical-align:bottom;white-space:nowrap;width:34.66%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;">Accrued liabilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 20,738</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 21,940</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="font-family:'TimesNewRomanPSMT';">The aggregate amount remaining on uncompleted performance obligations was </span><span style="font-family:'TimesNewRomanPSMT';">$395.5</span><span style="font-family:'TimesNewRomanPSMT';"> million as of March 31, 2023. We expect to satisfy the performance obligations and recognize revenue on substantially all of these uncompleted contracts </span><span style="font-family:'TimesNewRomanPSMT';">over the next 18 months</span><span style="font-family:'TimesNewRomanPSMT';">.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="font-family:'TimesNewRomanPSMT';visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="font-family:'TimesNewRomanPSMT';">On certain of our long-term contracts, a percentage of the total project cost is withheld and not invoiced to the customer and collected until satisfactory completion of the customer</span><span style="font-family:'Calibri','Helvetica','sans-serif';">&#8217;</span><span style="font-family:'TimesNewRomanPSMT';">s project, typically within a year. &#160;This amount is referred to as retainage and is common practice in the construction industry. &#160;</span>Retainage receivables are classified as a component of Receivables, net on our condensed consolidated balance sheets and were $66.7 million and $63.0 million as of March 31, 2023 and December 31, 2022, respectively.</p><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenueFromContractWithCustomerAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueFromContractWithCustomerAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenueFromContractWithCustomerTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure of revenue from contract with customer to transfer good or service and to transfer nonfinancial asset. Includes, but is not limited to, disaggregation of revenue, credit loss recognized from contract with customer, judgment and change in judgment related to contract with customer, and asset recognized from cost incurred to obtain or fulfill contract with customer. Excludes insurance and lease contracts.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -URI https://asc.fasb.org/topic&amp;trid=49130388<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=126920106&amp;loc=SL49130551-203045<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (b)(2)<br> -URI https://asc.fasb.org/extlink&amp;oid=126920106&amp;loc=SL49130556-203045<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 12<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126920106&amp;loc=SL49130554-203045<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -URI https://asc.fasb.org/extlink&amp;oid=126920106&amp;loc=SL49130550-203045<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 12<br> -Subparagraph (e)<br> -URI https://asc.fasb.org/extlink&amp;oid=126920106&amp;loc=SL49130554-203045<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 12<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126920106&amp;loc=SL49130554-203045<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 12<br> -Subparagraph (d)<br> -URI https://asc.fasb.org/extlink&amp;oid=126920106&amp;loc=SL49130554-203045<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 15<br> -URI https://asc.fasb.org/extlink&amp;oid=126920106&amp;loc=SL49130558-203045<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 12<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=126920106&amp;loc=SL49130554-203045<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueFromContractWithCustomerTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>22
<FILENAME>R12.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.1</span><table class="report" border="0" cellspacing="2" id="idm140418088491040">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Goodwill and Other Intangibles<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Mar. 31, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract', window );"><strong>Goodwill and Other Intangibles</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_GoodwillAndIntangibleAssetsDisclosureTextBlock', window );">Goodwill and Other Intangibles</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><b style="font-weight:bold;">4. &#160;GOODWILL AND OTHER INTANGIBLES</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;">We have two reporting units which are also our operating and reporting segments: Installation and Specialty Distribution. Both reporting units contain goodwill. Assets acquired and liabilities assumed are assigned to the applicable reporting unit based on whether the acquired assets and liabilities relate to the operations of and determination of the fair value of such unit. &#160;Goodwill assigned to the reporting unit is the excess of the fair value of the acquired business&#160;over the fair value of the individual assets acquired and liabilities assumed for the reporting unit.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;">In the fourth quarter of 2022, we performed an annual assessment on our goodwill resulting in no impairment and there were no indicators of impairment for the three months ended March 31, 2023.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="visibility:hidden;background:#ffff00;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;">Changes in the carrying amount of goodwill for three months ended March 31, 2023, by segment, were as follows, in thousands:</p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:13.08%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;width:2.08%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.56%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.43%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;width:2.08%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.23%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.05%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;width:2.08%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;width:1.38%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;width:1.04%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.26%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;width:2.08%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.38%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;width:2.08%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.11%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:13.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"><b style="font-family:'Arial','Helvetica','sans-serif';font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"><b style="font-family:'Arial','Helvetica','sans-serif';font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"><b style="font-family:'Arial','Helvetica','sans-serif';font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:1.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-family:'Arial','Helvetica','sans-serif';font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"><b style="font-family:'Arial','Helvetica','sans-serif';font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;Accumulated&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"><b style="font-family:'Arial','Helvetica','sans-serif';font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:13.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Gross&#160;Goodwill</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;width:8.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Fx Translation</b></p></td><td style="vertical-align:bottom;width:1.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Gross&#160;Goodwill</b></p></td><td style="vertical-align:bottom;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Impairment</b></p></td><td style="vertical-align:bottom;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Net&#160;Goodwill</b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:13.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">December&#160;31,&#160;2022</b></p></td><td style="vertical-align:bottom;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.29%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Additions</b></p></td><td style="vertical-align:bottom;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Adjustment</b></p></td><td style="vertical-align:bottom;width:1.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.53%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">March&#160;31,&#160;2023</b></p></td><td style="vertical-align:bottom;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.32%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Losses</b></p></td><td style="vertical-align:bottom;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.39%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">March&#160;31,&#160;2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:13.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">Goodwill, by segment:</p></td><td style="vertical-align:bottom;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.56%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.43%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.23%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:1.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:1.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:13.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;">Installation</p></td><td style="vertical-align:bottom;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,826,979</p></td><td style="vertical-align:bottom;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 25,384</p></td><td style="vertical-align:bottom;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;width:1.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,852,363</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt;"> (762,021)</p></td><td style="vertical-align:bottom;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,090,342</p></td></tr><tr><td style="vertical-align:bottom;width:13.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;">Specialty Distribution</p></td><td style="vertical-align:bottom;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.56%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.43%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 902,036</p></td><td style="vertical-align:bottom;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.23%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.05%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:1.38%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 16</p></td><td style="vertical-align:bottom;width:1.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.26%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 902,052</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.38%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.11%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 902,052</p></td></tr><tr><td style="vertical-align:bottom;width:13.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">Total goodwill</p></td><td style="vertical-align:bottom;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;"><span style="font-size:9pt;margin-left:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.56%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.43%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,729,015</p></td><td style="vertical-align:bottom;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;"><span style="font-size:9pt;margin-left:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.23%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.05%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 25,384</p></td><td style="vertical-align:bottom;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;"><span style="font-size:9pt;margin-left:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 16</p></td><td style="vertical-align:bottom;width:1.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;"><span style="font-size:9pt;margin-left:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.26%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,754,415</p></td><td style="vertical-align:bottom;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;"><span style="font-size:9pt;margin-left:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.38%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt;"> (762,021)</p></td><td style="vertical-align:bottom;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;"><span style="font-size:9pt;margin-left:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.11%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,992,394</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;line-height:1.19;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:6pt 0pt 0pt 0pt;">See <i style="font-style:italic;">Note 11 &#8211; Business Combinations</i> for goodwill recognized on acquisitions that occurred during the quarter.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;">Other intangible assets, net includes customer relationships, non-compete agreements, and trademarks / trade names.&#160;&#160;The following table sets forth our other intangible assets, in thousands:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;line-height:1.19;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:57.75%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:17.08%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:17.08%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:57.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:40.22%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">As of</b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:57.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:19.1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">March 31, 2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:19.1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">December 31, 2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:57.75%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">Gross definite-lived intangible assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 791,939</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 782,316</p></td></tr><tr><td style="vertical-align:bottom;width:57.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">Accumulated amortization</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.08%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt;"> (184,256)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.08%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt;"> (167,349)</p></td></tr><tr><td style="vertical-align:bottom;width:57.75%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt 0pt 0pt 6pt;">Net definite-lived intangible assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.08%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 607,683</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.08%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 614,967</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;">The following table sets forth our amortization expense, in thousands:</p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:57.75%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:17.08%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:17.08%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:57.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:40.22%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Three Months Ended March&#160;31,&#160;</b></p></td></tr><tr><td style="vertical-align:bottom;width:57.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:19.1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:19.1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:57.75%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">Amortization expense</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 16,896</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 17,825</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GoodwillAndIntangibleAssetsDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for goodwill and intangible assets.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -URI https://asc.fasb.org/topic&amp;trid=2144416<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GoodwillAndIntangibleAssetsDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>23
<FILENAME>R13.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.1</span><table class="report" border="0" cellspacing="2" id="idm140418097158784">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Long-Term Debt<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Mar. 31, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtDisclosureAbstract', window );"><strong>Long-Term Debt</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LongTermDebtTextBlock', window );">Long-Term Debt</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.28;margin:6pt 0pt 8pt 0pt;"><b style="font-weight:bold;white-space:pre-wrap;">5.  LONG-TERM DEBT</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;">The following table reconciles the principal balances of our outstanding debt to our condensed consolidated balance sheets, in thousands:</p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:66.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:66.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:31.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">As of</b></p></td></tr><tr><td style="vertical-align:bottom;width:66.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.82%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">March 31, 2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">December 31, 2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:66.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">3.625% Senior Notes due 2029</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 400,000</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 400,000</p></td></tr><tr><td style="vertical-align:bottom;width:66.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">4.125% Senior Notes due 2032</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 500,000</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 500,000</p></td></tr><tr><td style="vertical-align:bottom;width:66.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">Term loan</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 558,750</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 566,250</p></td></tr><tr><td style="vertical-align:bottom;width:66.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">Equipment notes</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 6,185</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 8,427</p></td></tr><tr><td style="vertical-align:bottom;width:66.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">Unamortized debt issuance costs</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.36%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt;"> (16,633)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.53%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.49%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt;"> (17,352)</p></td></tr><tr><td style="vertical-align:bottom;width:66.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">Total debt, net of unamortized debt issuance costs</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,448,302</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,457,325</p></td></tr><tr><td style="vertical-align:bottom;width:66.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;">Less: current portion of long-term debt</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.36%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 42,371</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.53%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.49%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 40,068</p></td></tr><tr><td style="vertical-align:bottom;width:66.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">Total long-term debt</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.36%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,405,931</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.53%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.49%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,417,257</p></td></tr></table><p style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="font-family:'Times New Roman','Times','serif';">The following table sets forth our remaining principal payments for our outstanding debt balances as of March 31, 2023, in thousands:</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:21.83%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.37%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.39%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.39%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.39%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.39%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.39%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:21.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.37%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.39%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.39%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.39%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.39%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.39%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:21.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.74%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.77%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.77%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">2025</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;width:9.77%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">2026</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;width:9.77%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">2027</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.77%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Thereafter</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.88%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Total</b></p></td></tr><tr><td style="vertical-align:bottom;width:21.83%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">3.625% Senior Notes</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.39%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.39%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.39%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.39%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.39%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 400,000</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 400,000</p></td></tr><tr><td style="vertical-align:bottom;width:21.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">4.125% Senior Notes</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 500,000</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 500,000</p></td></tr><tr><td style="vertical-align:bottom;width:21.83%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">Term loan</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 26,250</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.39%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 45,000</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.39%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 48,750</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.39%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 438,750</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.39%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.39%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 558,750</p></td></tr><tr><td style="vertical-align:bottom;width:21.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">Equipment notes</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.37%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4,076</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.39%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,109</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.39%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.39%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.39%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.39%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 6,185</p></td></tr><tr><td style="vertical-align:bottom;width:21.83%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;">Total</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.37%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 30,326</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.39%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 47,109</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.39%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 48,750</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.39%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 438,750</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.39%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.39%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 900,000</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,464,935</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;line-height:1.19;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;background:#ffffff;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;">Credit Agreement</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;">The following table outlines the key terms of the Credit Agreement (dollars in thousands):</p><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="font-size:10pt;margin-bottom:5pt;margin-top:5pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:83.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:83.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">Senior secured term loan facility</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 300,000</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:83.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">Additional delayed draw term loan</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 300,000</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:83.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:83.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">Additional term loan and/or revolver capacity available under incremental facility (a)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 300,000</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:83.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:83.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">Revolving facility</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 500,000</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:83.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">Sublimit for issuance of letters of credit under revolving facility (b)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 100,000</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:83.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">Sublimit for swingline loans under revolving facility (b)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 35,000</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:83.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:83.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">Interest rate as of March&#160;31,&#160;2023</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 5.91</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:83.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">Scheduled maturity date</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="font-size:9pt;">10/7/2026</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td></tr></table><div style="font-family:'Calibri','Helvetica','sans-serif';font-size:8.0pt;margin-bottom:0pt;min-height:1.19em;position:relative;width:100%;"><div style="background-color:#000000;height:1pt;position:relative;top:0.6em;width:25.0%;border:none;margin:0 auto 0 0;"/></div><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="font-family:'Times New Roman','Times','serif';font-size:9pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">(a)</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:9pt;font-style:normal;font-weight:normal;">Additional borrowing capacity is available under the incremental facility, subject to certain terms and conditions (including existing or new lenders providing commitments in respect of such additional borrowing capacity).</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="font-family:'Times New Roman','Times','serif';font-size:9pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">(b)</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:9pt;font-style:normal;font-weight:normal;">Use of the sublimits for the issuance of letters of credit and swingline loans reduces the availability under the Revolving Facility.</span></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="font-size:10pt;margin-bottom:5pt;margin-top:5pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="font-family:'Times New Roman','Times','serif';">Interest payable on borrowings under the Credit Agreement is based on an applicable margin rate plus, at our option, either: &#160;</span></p><p style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;line-height:1.19;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"/><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">A base rate determined by reference to the highest of either (i) the federal funds rate plus </span><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">0.50</span><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;"> percent, (ii) BofA&#8217;s &#8220;prime rate,&#8221; and (iii) the SOFR rate for U.S. dollar deposits with a term of </span><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">one month</span><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">, plus </span><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">1.00</span><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;"> percent; or</span></td></tr></table><p style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:5pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;line-height:1.19;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"/><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">A SOFR rate determined by reference to the costs of funds for deposits in U.S. dollars for the interest period relevant to such borrowings, subject to a floor of </span><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">0%</span><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">.</span></td></tr></table><p style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="font-family:'Times New Roman','Times','serif';"> </span><span style="font-family:'Times New Roman','Times','serif';visibility:hidden;">&#8203;</span></p><p style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="font-family:'Times New Roman','Times','serif';">The applicable margin rate is determined based on our Secured Leverage Ratio. &#160;In the case of base rate borrowings, the applicable margin rate ranges from </span><span style="font-family:'Times New Roman','Times','serif';">0.00</span><span style="font-family:'Times New Roman','Times','serif';"> percent to </span><span style="font-family:'Times New Roman','Times','serif';">1.50</span><span style="font-family:'Times New Roman','Times','serif';"> percent and in the case of SOFR rate borrowings, the applicable margin ranges from </span><span style="font-family:'Times New Roman','Times','serif';">1.00</span><span style="font-family:'Times New Roman','Times','serif';"> percent to </span><span style="font-family:'Times New Roman','Times','serif';">2.50</span><span style="font-family:'Times New Roman','Times','serif';"> percent. &#160;Borrowings under the Credit Agreement are prepayable at the Company&#8217;s option without premium or penalty. &#160;The Company is required to make prepayments with the net cash proceeds of certain asset sales and certain extraordinary receipts. </span></p><p style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:8pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><i style="font-family:'Times New Roman','Times','serif';font-style:italic;">Revolving Facility </i></p><p style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:8pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="font-family:'Times New Roman','Times','serif';">The Company has outstanding standby letters of credit that secure our financial obligations related to our workers&#8217; compensation, general insurance, and auto liability programs. &#160;These standby letters of credit, as well as any outstanding amount borrowed under our Revolving Facility, reduce the availability under the Revolving Facility. &#160;</span></p><p style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="font-family:'Times New Roman','Times','serif';">The following table summarizes our availability under the Revolving Facility, in thousands:</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;white-space:nowrap;width:66.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:66.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:31.32%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">As of</b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:66.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"><span style="font-family:'Arial','Helvetica','sans-serif';">&#160;&#160;&#160;&#160;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">March 31, 2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">December 31, 2022</b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:66.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">Revolving facility</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 500,000</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.56%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.43%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 500,000</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:66.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;">Less: standby letters of credit</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.17%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt;"> (67,689)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.56%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.43%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt;"> (67,689)</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:66.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">Availability under revolving facility</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.17%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 432,311</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.56%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.43%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 432,311</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;">We are required to pay commitment fees to the Lenders in respect of any unutilized commitments.&#160;&#160;The commitment fees range from 0.15 percent to 0.275 percent per annum, depending on our Secured Leverage Ratio.&#160;&#160;We must also pay customary fees on outstanding letters of credit.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;">3.625%</i><i style="font-style:italic;"> Senior Notes</i> </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;">The 3.625% Senior Notes are $400.0 million senior unsecured obligations and bear interest at 3.625% per year, payable semiannually in arrears on March 15 and September 15, beginning on September 15, 2021. The 3.625% Senior Notes mature on March 15, 2029, unless redeemed early or repurchased. If we undergo a change in control, we must make an offer to repurchase all of the 3.625% Senior Notes then outstanding at a repurchase price equal to 101% of their aggregate principal amount, plus accrued and unpaid interest (if any) to, but not including, the repurchase date.&#160; </p><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="font-size:10pt;margin-bottom:5pt;margin-top:5pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;">The Company may redeem the 3.625% Senior Notes, in whole or in part, at any time on or after March 15, 2024 at the redemption prices specified in the notes. &#160;The Company may also redeem all or part of the 3.625% Senior Notes at any time prior to March 15, 2024 at a redemption price equal to 100% of the principal amount of the notes to be redeemed, plus the Applicable Premium (as defined in the notes), as of, and accrued and unpaid interest to, the redemption date. Additionally, the Company may redeem up to 40% of the aggregate principal amount of the 3.625% Senior Notes prior to March 15, 2024 with the net cash proceeds of certain sales of its capital stock at 103.625% of the principal amount of the notes, plus accrued and unpaid interest, if any, to the date of redemption only if, after the redemption, at least 60% of the aggregate principal amount of the 3.625% Senior Notes originally issued remains outstanding.</p><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="font-size:10pt;margin-bottom:5pt;margin-top:5pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><i style="font-style:italic;">4.125%</i><i style="font-style:italic;"> Senior Notes</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;line-height:1.19;margin:0pt;"><span style="font-size:10pt;margin-bottom:5pt;margin-top:5pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;">The 4.125% Senior Notes are $500.0 million senior unsecured obligations and bear interest at 4.125% per year, payable semiannually in arrears on February 15 and August 15, beginning on August 15, 2022. The 4.125% Senior Notes mature on February 15, 2032, unless redeemed early or repurchased. If we undergo a change in control, we must make an offer to repurchase all of the 4.125% Senior Notes then outstanding at a repurchase price equal to 101% of their aggregate principal amount, plus accrued and unpaid interest (if any) to, but not including, the repurchase date.&#160; </p><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="font-size:10pt;margin-bottom:5pt;margin-top:5pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;">The Company may redeem the 4.125% Senior Notes, in whole or in part, at any time on or after October 15, 2026 at the redemption prices specified in the notes plus accrued and unpaid interest if redeemed during the 12 month period commencing on October 15 of the years set for: 2026 &#8211; 102.063%, 2027 &#8211; 101.375%, 2028 &#8211; 100.688%, 2029 and thereafter &#8211; 100.000%. The Company may also redeem a make-whole redemption of the 4.125% Senior Notes at any time prior to October 15, 2026 at the treasury rate plus 50 basis points. Additionally, the Company may redeem up to 40% of the aggregate principal amount of the 4.125% Senior Notes prior to October 15, 2024 with the net cash proceeds of certain sales of its capital stock at 104.125% of the principal amount of the notes, plus accrued and unpaid interest, if any, to the date of redemption only if, after the redemption, at least 60% of the aggregate principal amount of the notes originally issued remains outstanding.</p><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="font-size:10pt;margin-bottom:5pt;margin-top:5pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;">Equipment Notes</i> </p><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="font-size:10pt;">We did not issue equipment notes during the three months ended March 31, 2023. &#160;The company has issued </span><span style="font-size:10pt;">$41.6</span><span style="font-size:10pt;"> </span><span style="font-size:10pt;">million of equipment notes for the purpose of financing the purchase of vehicles and equipment. The Company&#8217;s equipment notes each have a </span><span style="font-size:10pt;">five year</span><span style="font-size:10pt;"> term maturing in 2023 and 2024 and bear interest at fixed rates between </span><span style="font-size:10pt;">2.8%</span><span style="font-size:10pt;"> and </span><span style="font-size:10pt;">4.4%</span><span style="font-size:10pt;">. </span></p><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;line-height:1.19;margin:0pt;"><span style="font-size:10pt;margin-bottom:5pt;margin-top:5pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:1pt;line-height:1.28;margin:0pt 0pt 8pt 0pt;">&#160; <i style="font-size:10pt;font-style:italic;">Covenant Compliance</i><span style="font-size:10pt;"> </span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;">The indentures governing our 3.625% Senior Notes and our 4.125% Senior Notes (together, our &#8220;Senior Notes&#8221;) contain restrictive covenants that, among other things, generally limit the ability of the Company and certain of its subsidiaries (subject to certain exceptions) to (i) create liens, (ii) pay dividends, acquire shares of capital stock and make payments on subordinated debt, (iii) place limitations on distributions from certain subsidiaries, (iv) issue or sell the capital stock of certain subsidiaries, (v) sell assets, (vi) enter into transactions with affiliates and (vii) effect mergers. &#160;The indentures provide for customary events of default which include (subject in certain cases to customary grace and cure periods), among others: nonpayment of principal or interest; breach of covenants or other agreements in the indenture; defaults in failure to pay certain other indebtedness; and certain events of bankruptcy or insolvency. Generally, if an event of default occurs and is continuing under the indenture, the trustee or the holders of at least 30% in aggregate principal amount of each of our Senior Notes then outstanding may declare the principal of, premium, if any, and accrued interest on the Senior Notes subject to such declaration immediately due and payable. The Senior Notes and related guarantees have not been registered under the Securities Act of 1933, and we are not required to register either the Senior Notes or the guarantees in the future. </p><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="font-size:10pt;margin-bottom:5pt;margin-top:5pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;">The Credit Agreement contains certain covenants that limit, among other things, the ability of the Company to incur additional indebtedness or liens; to make certain investments or loans; to make certain restricted payments; to enter into consolidations, mergers, sales of material assets, and other fundamental changes; to transact with affiliates; to enter into agreements restricting the ability of subsidiaries to incur liens or pay dividends; or to make certain accounting changes.&#160;&#160;The Credit Agreement contains customary affirmative covenants and events of default. </p><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="font-size:10pt;margin-bottom:5pt;margin-top:5pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;">The Credit Agreement requires that we maintain a Net Leverage Ratio and minimum Interest Coverage Ratio throughout the term of the agreement. &#160;The following table outlines the key financial covenants effective for the period covered by this Quarterly Report:</p><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="font-size:10pt;margin-bottom:5pt;margin-top:5pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;white-space:nowrap;width:75.81%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.74%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:22.43%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:75.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-family:'Arial','Helvetica','sans-serif';font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:22.43%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">As of March&#160;31,&#160;2023</b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:75.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">Maximum Net Leverage Ratio</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.74%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:22.43%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;">3.50:1.00</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:75.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">Minimum Interest Coverage Ratio</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:22.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;">3.00:1.00</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:75.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">Compliance as of period end</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.74%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:22.43%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;">In Compliance</p></td></tr></table><p style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LongTermDebtTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for long-term debt.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -URI https://asc.fasb.org/topic&amp;trid=2208564<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LongTermDebtTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>24
<FILENAME>R14.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.1</span><table class="report" border="0" cellspacing="2" id="idm140418097044736">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Fair Value Measurements<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Mar. 31, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FairValueDisclosuresAbstract', window );"><strong>Fair Value Measurements</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FairValueDisclosuresTextBlock', window );">Fair Value Measurements</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.28;margin:0pt 0pt 8pt 0pt;"><b style="font-weight:bold;">6</b>.<b style="font-weight:bold;white-space:pre-wrap;">  FAIR VALUE MEASUREMENTS</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:11.0pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">Fair Value on Recurring Basis</b> </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:11.0pt;text-align:justify;margin:0pt;">The carrying values of cash and cash equivalents, receivables, net, and accounts payable are considered to be representative of their respective fair values due to the short-term nature of these instruments. </p><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;min-height:11.0pt;text-align:justify;margin:0pt;"><span style="line-height:1.19;margin-bottom:5pt;margin-top:5pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:11.0pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">Fair Value on Non-Recurring Basis</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:11.0pt;text-align:justify;margin:0pt 0pt 6pt 0pt;">Fair value measurements were applied to our long-term debt portfolio.<span style="font-size:12pt;"> &#160;</span>We believe the carrying value of our term loan and equipment notes approximate their fair market value primarily due to the fact that the non-performance risk of servicing our debt obligations, as reflected in our business and credit risk profile, has not materially changed since we assumed our debt obligations under the Credit Agreement.&#160;&#160;In addition, due to the floating-rate nature of our term loan, the market value is not subject to variability solely due to changes in the general level of interest rates as is the case with a fixed-rate debt obligation. &#160;Based on market trades of our 3.625% Senior Notes and our 4.125% Senior Notes close to March 31, 2023 (Level 1 fair value measurement), we estimate the fair value of each in the table below: &#160;</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;line-height:1.19;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;white-space:nowrap;width:65.31%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;margin-bottom:0pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;margin-bottom:0pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;margin-bottom:0pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.15%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;margin-bottom:0pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;margin-bottom:0pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;margin-bottom:0pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:17.51%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;margin-bottom:0pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:65.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;margin-bottom:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;margin-bottom:0pt;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:33.18%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">As of March&#160;31,&#160;2023</b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:65.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;margin-bottom:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;margin-bottom:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;margin-bottom:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Fair Value</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;margin-bottom:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;margin-bottom:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Gross Carrying Value</b></p></td></tr><tr><td style="vertical-align:bottom;width:65.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;">3.625% Senior Notes</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;margin-bottom:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 348,580</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;margin-bottom:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 400,000</p></td></tr><tr><td style="vertical-align:bottom;width:65.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;">4.125% Senior Notes</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;margin-bottom:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 427,500</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;margin-bottom:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 500,000</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;min-height:11.0pt;text-align:justify;margin:0pt;"><span style="font-size:1pt;line-height:1.19;margin-bottom:5pt;margin-top:5pt;visibility:hidden;">&#8203;</span></p><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FairValueDisclosuresAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FairValueDisclosuresAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FairValueDisclosuresTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for the fair value of financial instruments (as defined), including financial assets and financial liabilities (collectively, as defined), and the measurements of those instruments as well as disclosures related to the fair value of non-financial assets and liabilities. Such disclosures about the financial instruments, assets, and liabilities would include: (1) the fair value of the required items together with their carrying amounts (as appropriate); (2) for items for which it is not practicable to estimate fair value, disclosure would include: (a) information pertinent to estimating fair value (including, carrying amount, effective interest rate, and maturity, and (b) the reasons why it is not practicable to estimate fair value; (3) significant concentrations of credit risk including: (a) information about the activity, region, or economic characteristics identifying a concentration, (b) the maximum amount of loss the entity is exposed to based on the gross fair value of the related item, (c) policy for requiring collateral or other security and information as to accessing such collateral or security, and (d) the nature and brief description of such collateral or security; (4) quantitative information about market risks and how such risks are managed; (5) for items measured on both a recurring and nonrecurring basis information regarding the inputs used to develop the fair value measurement; and (6) for items presented in the financial statement for which fair value measurement is elected: (a) information necessary to understand the reasons for the election, (b) discussion of the effect of fair value changes on earnings, (c) a description of [similar groups] items for which the election is made and the relation thereof to the balance sheet, the aggregate carrying value of items included in the balance sheet that are not eligible for the election; (7) all other required (as defined) and desired information.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 820<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=126976982&amp;loc=d3e19207-110258<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FairValueDisclosuresTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>25
<FILENAME>R15.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.1</span><table class="report" border="0" cellspacing="2" id="idm140418083706288">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Segment Information<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Mar. 31, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SegmentReportingAbstract', window );"><strong>Segment Information</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SegmentReportingDisclosureTextBlock', window );">Segment Information</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:14pt 0pt 0pt 0pt;"><b style="font-weight:bold;">7. &#160;SEGMENT INFORMATION</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">The following tables set forth our net sales and operating results by segment, in thousands:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:47.94%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:0.56%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.87%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:0.55%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.87%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:0.55%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.87%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:0.55%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.87%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:47.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td colspan="11" style="vertical-align:bottom;white-space:nowrap;width:51.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Three Months Ended March&#160;31,&#160;</b></p></td></tr><tr><td style="vertical-align:bottom;width:47.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.47%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.47%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.47%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.38%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr style="height:0pt;visibility:hidden;"><td colspan="13" style="padding:0pt;"/></tr><tr><td style="vertical-align:bottom;width:47.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:25.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Net Sales</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:25.41%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Operating Profit (b)</b></p></td></tr><tr><td style="vertical-align:bottom;width:47.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">Operations by segment (a):</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.56%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:47.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt 0pt 0pt 6pt;">Installation</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 767,090</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 676,693</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 146,897</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 112,679</p></td></tr><tr><td style="vertical-align:bottom;width:47.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt 0pt 0pt 6pt;">Specialty Distribution</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.56%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 558,375</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 543,862</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 73,333</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 70,420</p></td></tr><tr><td style="vertical-align:bottom;width:47.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt 0pt 0pt 6pt;">Intercompany eliminations</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.87%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt;"> (60,227)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.87%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt;"> (51,637)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.87%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt;"> (9,971)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.87%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt;"> (8,708)</p></td></tr><tr><td style="vertical-align:bottom;width:47.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt 0pt 0pt 18pt;">Total</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.56%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.87%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,265,238</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.87%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,168,918</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 210,259</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 174,391</p></td></tr><tr><td style="vertical-align:bottom;width:47.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">General corporate expense, net (c)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.87%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt;"> (10,828)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.87%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt;"> (10,437)</p></td></tr><tr><td style="vertical-align:bottom;width:47.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt 0pt 0pt 18pt;">Operating profit, as reported</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.56%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 199,431</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 163,954</p></td></tr><tr><td style="vertical-align:bottom;width:47.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">Other expense, net </p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.87%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt;"> (16,116)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.87%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt;"> (11,282)</p></td></tr><tr><td style="vertical-align:middle;width:47.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt 0pt 0pt 18pt;">Income before income taxes</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.56%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.87%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 183,315</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.87%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 152,672</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p><div style="font-family:'Times New Roman','Times','serif';font-size:8.0pt;margin-bottom:0pt;min-height:1.19em;position:relative;width:100%;"><div style="background-color:#000000;height:1pt;position:relative;top:0.6em;width:25.0%;border:none;margin:0 auto 0 0;"/></div><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="font-family:'Times New Roman','Times','serif';font-size:9pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">(a)</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:9pt;font-style:normal;font-weight:normal;">All of our operations are located primarily in the U.S and to a lesser extent Canada.</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="font-family:'Times New Roman','Times','serif';font-size:9pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">(b)</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:9pt;font-style:normal;font-weight:normal;">Segment operating profit includes an allocation of general corporate expenses attributable to the operating segments which is based on direct benefit or usage (such as salaries of corporate employees who directly support the segment).</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="font-family:'Times New Roman','Times','serif';font-size:9pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">(c)</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:9pt;font-style:normal;font-weight:normal;">General corporate expense, net includes expenses not specifically attributable to our segments for functions such as corporate human resources, finance, and legal, including salaries, benefits, and other related costs</span><span style="font-family:'Times New Roman','Times','serif';font-size:9pt;font-style:normal;font-weight:normal;">. </span></td></tr></table><div style="margin-top:6pt;"/><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SegmentReportingAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SegmentReportingAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SegmentReportingDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for reporting segments including data and tables. Reportable segments include those that meet any of the following quantitative thresholds a) it's reported revenue, including sales to external customers and intersegment sales or transfers is 10 percent or more of the combined revenue, internal and external, of all operating segments b) the absolute amount of its reported profit or loss is 10 percent or more of the greater, in absolute amount of 1) the combined reported profit of all operating segments that did not report a loss or 2) the combined reported loss of all operating segments that did report a loss c) its assets are 10 percent or more of the combined assets of all operating segments.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 31<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8924-108599<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 34<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8981-108599<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 21<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8721-108599<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 40<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e9031-108599<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (e)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 26<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8844-108599<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 41<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e9038-108599<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (d)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 42<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e9054-108599<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 15<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8657-108599<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 21<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8721-108599<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -URI https://asc.fasb.org/topic&amp;trid=2134510<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SegmentReportingDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>26
<FILENAME>R16.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.1</span><table class="report" border="0" cellspacing="2" id="idm140418081101008">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Income Taxes<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Mar. 31, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxDisclosureAbstract', window );"><strong>Income Taxes</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxDisclosureTextBlock', window );">Income Taxes</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><b style="font-weight:bold;">8. &#160;INCOME TAXES &#160; &#160; </b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p><p style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="font-family:'Times New Roman','Times','serif';">Our effective tax rates were </span><span style="font-family:'Times New Roman','Times','serif';">25.9</span><span style="font-family:'Times New Roman','Times','serif';"> percent and </span><span style="font-family:'Times New Roman','Times','serif';">24.9</span><span style="font-family:'Times New Roman','Times','serif';"> percent for the three months ended March 31, 2023 and 2022, respectively. The higher 2023 tax rate was primarily related to a decrease in the benefit related to share-based compensation.</span></p><p style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;">A tax benefit of $1.6 million related to share-based compensation was recognized in our condensed consolidated statements of operations as a discrete item in income tax expense for the three months ended March 31, 2022.</p><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for income taxes. Disclosures may include net deferred tax liability or asset recognized in an enterprise's statement of financial position, net change during the year in the total valuation allowance, approximate tax effect of each type of temporary difference and carryforward that gives rise to a significant portion of deferred tax liabilities and deferred tax assets, utilization of a tax carryback, and tax uncertainties information.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 21<br> -URI https://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32857-109319<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB Topic 11.C)<br> -URI https://asc.fasb.org/extlink&amp;oid=122134291&amp;loc=d3e330215-122817<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 17<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32809-109319<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB TOPIC 6.I.5.Q1)<br> -URI https://asc.fasb.org/extlink&amp;oid=122134291&amp;loc=d3e330036-122817<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 14<br> -URI https://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32705-109319<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 270<br> -Section 50<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=6424409&amp;loc=d3e44925-109338<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -URI https://asc.fasb.org/topic&amp;trid=2144680<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=6424122&amp;loc=d3e41874-109331<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h)(2))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>27
<FILENAME>R17.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.1</span><table class="report" border="0" cellspacing="2" id="idm140418085091632">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Net Income Per Share<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Mar. 31, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EarningsPerShareAbstract', window );"><strong>Net Income Per Share</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EarningsPerShareTextBlock', window );">Net Income Per Share</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><b style="font-weight:bold;white-space:pre-wrap;">9.  NET INCOME PER SHAR</b><b style="font-weight:bold;">E</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;">Basic net income per share is calculated by dividing net income by the number of weighted average shares outstanding during the period, without consideration for common stock equivalents. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;">Diluted net income per share is calculated by adjusting the number of weighted average shares outstanding for the dilutive effect of common stock equivalents outstanding for the period, determined using the treasury stock method. &#160;</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;">Basic and diluted net income per share were computed as follows:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:-0.036060333%;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:55.35%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.36%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.36%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:17.58%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.36%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.36%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:17.58%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:55.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="vertical-align:bottom;width:42.27%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Three Months Ended March&#160;31,&#160;</b></p></td></tr><tr><td style="vertical-align:bottom;width:55.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:19.95%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:19.95%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:55.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">Net income (in thousands)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.36%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.58%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 135,870</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.36%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.58%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 114,711</p></td></tr><tr><td style="vertical-align:bottom;width:55.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:55.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">Weighted average number of common shares outstanding - basic</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 31,550,658</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 32,738,525</p></td></tr><tr><td style="vertical-align:bottom;width:55.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:55.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">Dilutive effect of common stock equivalents:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:55.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;">RSAs with service-based conditions</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 22,643</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 15,127</p></td></tr><tr><td style="vertical-align:bottom;width:55.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;">RSAs with market-based conditions</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 24,861</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 100,158</p></td></tr><tr><td style="vertical-align:bottom;width:55.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;">RSAs with performance-based conditions</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 29,031</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 64,025</p></td></tr><tr><td style="vertical-align:bottom;width:55.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;">Stock options</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.36%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.58%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 86,046</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.36%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.58%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 124,655</p></td></tr><tr><td style="vertical-align:bottom;width:55.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:55.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">Weighted average number of common shares outstanding - diluted</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 31,713,239</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 33,042,490</p></td></tr><tr><td style="vertical-align:bottom;width:55.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:55.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"><b style="font-weight:bold;">Basic net income per common share</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.36%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.58%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4.31</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.36%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.58%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3.50</p></td></tr><tr><td style="vertical-align:bottom;width:55.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:55.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"><b style="font-weight:bold;">Diluted net income per common share</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.36%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.58%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4.28</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.36%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.58%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3.47</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;">The following table summarizes shares excluded from the calculation of diluted net income per share because their effect would have been anti-dilutive:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:55.32%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:17.57%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:17.57%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:55.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="vertical-align:bottom;width:42.29%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Three Months Ended March&#160;31,&#160;</b></p></td></tr><tr><td style="vertical-align:bottom;width:55.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:19.95%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:19.95%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:55.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">Anti-dilutive common stock equivalents:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:55.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;">RSAs with service-based conditions</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 11,163</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 10,244</p></td></tr><tr><td style="vertical-align:bottom;width:55.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;">RSAs with market-based conditions</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 8,933</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 382</p></td></tr><tr><td style="vertical-align:bottom;width:55.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;">RSAs with performance-based conditions</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 7,908</p></td></tr><tr><td style="vertical-align:bottom;width:55.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;">Stock options</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.57%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 22,280</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.57%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 16,587</p></td></tr><tr><td style="vertical-align:bottom;width:55.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">Total anti-dilutive common stock equivalents</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.57%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 42,376</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.57%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 35,121</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EarningsPerShareAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerShareAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EarningsPerShareTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for earnings per share.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI https://asc.fasb.org/extlink&amp;oid=109243012&amp;loc=SL65017193-207537<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=124432515&amp;loc=d3e3550-109257<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -URI https://asc.fasb.org/topic&amp;trid=2144383<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=124432515&amp;loc=d3e3630-109257<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerShareTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>28
<FILENAME>R18.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.1</span><table class="report" border="0" cellspacing="2" id="idm140418085043456">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Share-Based Compensation<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Mar. 31, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract', window );"><strong>Share-Based Compensation.</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock', window );">Share-Based Compensation</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><b style="font-weight:bold;white-space:pre-wrap;">10.  SHARE-BASED COMPENSATION</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;">Effective July 1, 2015, our eligible employees commenced participation in the 2015 LTIP.&#160;&#160;The 2015 LTIP authorizes the Board to grant stock options, stock appreciation rights, restricted shares, restricted share units, performance awards, and dividend equivalents.&#160;&#160;All grants are made by issuing new shares and no more than 4.0 million shares of common stock may be issued under the 2015 LTIP.&#160;&#160;As of March 31, 2023, we had 1.8 million shares remaining available for issuance under the 2015 LTIP. </p><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="font-size:10pt;margin-bottom:5pt;margin-top:5pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;">Share-based compensation expense is included in selling, general, and administrative expense.&#160;&#160;The income tax effect associated with share-based compensation awards is included in income tax expense.&#160;&#160;</p><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="font-size:10pt;margin-bottom:5pt;margin-top:5pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;">The following table presents share-based compensation amounts recognized in our condensed consolidated statements of operations, in thousands: </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;white-space:nowrap;width:57.71%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.42%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.42%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:16.29%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.42%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.42%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:16.29%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:57.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:39.86%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Three Months Ended March&#160;31,&#160;</b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:57.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:18.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:18.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:57.71%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">Share-based compensation expense</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,135</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,727</p></td></tr><tr><td style="vertical-align:bottom;width:57.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">Income tax (expense)/benefit</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt;"> (45)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,605</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;">The following table presents a summary of our share-based compensation activity for three months ended March 31,&#160;2023, in thousands, except per share amounts:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;white-space:nowrap;width:21.02%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.24%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.58%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.13%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.51%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.13%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.45%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.34%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:21.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="4" style="vertical-align:bottom;white-space:nowrap;width:24.81%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">RSAs</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="10" style="vertical-align:bottom;white-space:nowrap;width:51.34%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Stock Options</b></p></td></tr><tr><td style="vertical-align:bottom;width:21.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:1.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:10.58%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Number&#160;of Shares</b></p></td><td style="vertical-align:bottom;width:1.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"><b style="font-family:'Arial','Helvetica','sans-serif';font-weight:bold;">&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;width:12.68%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Weighted Average&#160;Grant Date&#160;Fair&#160;Value Per&#160;Share</b></p></td><td style="vertical-align:bottom;width:1.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"><b style="font-family:'Arial','Helvetica','sans-serif';font-weight:bold;">&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;width:10.51%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Number&#160;of Shares</b></p></td><td style="vertical-align:bottom;width:1.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"><b style="font-family:'Arial','Helvetica','sans-serif';font-weight:bold;">&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;width:12.68%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Weighted Average&#160;Grant Date&#160;Fair&#160;Value Per&#160;Share</b></p></td><td style="vertical-align:bottom;width:1.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"><b style="font-family:'Arial','Helvetica','sans-serif';font-weight:bold;">&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;width:11.83%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Weighted Average Exercise&#160;Price Per&#160;Share</b></p></td><td style="vertical-align:bottom;width:1.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"><b style="font-family:'Arial','Helvetica','sans-serif';font-weight:bold;">&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;width:11.64%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Aggregate</b><b style="font-weight:bold;"><br/></b><b style="font-weight:bold;">Intrinsic</b><b style="font-weight:bold;"><br/></b><b style="font-weight:bold;">Value</b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:21.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">Balance December&#160;31,&#160;2022</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 173.2</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 195.06</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 182.2</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 32.25</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 86.79</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 13,992.3</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:21.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;">Granted</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;"><span style="font-size:9pt;margin-left:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 95.4</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 202.24</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:21.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;">Converted/Exercised</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;"><span style="font-size:9pt;margin-left:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt;"> (95.0)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 145.57</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt;"> (28.8)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 13.07</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 35.67</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4,504.8</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:21.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;">Forfeited/Expired</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;"><span style="font-size:9pt;margin-left:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.58%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt;"> (5.3)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.13%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 242.76</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.51%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.13%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.34%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:21.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">Balance March&#160;31,&#160;2023</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.58%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 168.3</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.13%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 225.41</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.51%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 153.4</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.13%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 35.98</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.45%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 96.40</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.34%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 17,277.2</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:21.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.51%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.13%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.34%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td colspan="3" style="vertical-align:bottom;white-space:nowrap;width:32.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">Exercisable March&#160;31,&#160;2023 (a)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.51%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 145.9</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.13%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 33.25</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.45%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 90.39</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.34%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 17,277.2</p></td></tr></table><div style="font-family:'Times New Roman','Times','serif';font-size:8.0pt;margin-bottom:0pt;min-height:1.19em;position:relative;width:100%;"><div style="background-color:#000000;height:1pt;position:relative;top:0.6em;width:25.0%;border:none;margin:0 auto 0 0;"/></div><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="font-family:'Times New Roman','Times','serif';font-size:9pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">(a)</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:9pt;font-style:normal;font-weight:normal;">The weighted average remaining contractual term for vested stock options is approximately</span><span style="font-family:'Times New Roman','Times','serif';font-size:9pt;font-style:normal;font-weight:normal;"> 5.9 </span><span style="font-family:'Times New Roman','Times','serif';font-size:9pt;font-style:normal;font-weight:normal;">years.</span></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"><span style="white-space:pre-wrap;">  </span><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;">We had unrecognized share-based compensation expense related to unvested awards is shown in the following table, dollars in thousands:</p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;white-space:nowrap;width:59.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:59.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:38.81%;background:#ffffff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">As of March&#160;31,&#160;2023</b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:59.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;width:18.61%;background:#ffffff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Unrecognized Compensation Expense </b><b style="font-weight:bold;"><br/></b><b style="font-weight:bold;">on Unvested Awards</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;width:18.66%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Weighted Average</b><b style="font-weight:bold;"><br/></b><b style="font-weight:bold;">Remaining</b><b style="font-weight:bold;"><br/></b><b style="font-weight:bold;">Compensation Expense Period</b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:59.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;">RSAs</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 24,835</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.14%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:9pt;"> 1.2</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:59.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;">Stock options</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.51%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 397</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:9pt;"> 0.5</span></p></td></tr><tr><td style="vertical-align:bottom;width:59.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">Total unrecognized compensation expense related to unvested awards</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.51%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.1%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 25,232</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.14%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;">Our RSAs with performance-based conditions are evaluated on a quarterly basis with adjustments to compensation expense based on the likelihood of the performance target being achieved or exceeded. &#160;The following table shows the range of payouts and the related expense for our outstanding RSAs with performance-based conditions, in thousands:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;white-space:nowrap;width:41.14%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.96%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.96%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.96%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.96%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.88%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:41.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td colspan="11" style="vertical-align:bottom;white-space:nowrap;width:45.86%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Payout Ranges and Related Expense</b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:41.14%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"><b style="font-weight:bold;">RSAs with Performance-Based Conditions</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;width:10.3%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Grant Date Fair Value</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;width:10.3%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">0%</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;width:10.3%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">25%</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;width:10.3%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">100%</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;width:10.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">200%</b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:41.14%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">February 16, 2021</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,197</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 549</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,197</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4,394</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:41.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">February 15, 2022</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,097</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 774</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,097</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 6,194</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:41.14%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">February 21, 2023</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4,192</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,048</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4,192</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 8,384</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;">During the first quarter of 2023, RSAs with performance-based conditions that were granted on February 17, 2020 vested based on cumulative three-year achievement of 200%. Total compensation expense recognized over the three-year performance period, net of forfeitures, was $5.0 million.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;">The fair value of our RSAs with a market-based condition granted under the 2015 LTIP was determined using a Monte Carlo simulation. &#160;The following are key inputs in the Monte Carlo analysis for awards granted in 2023 and 2022:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;white-space:nowrap;width:73.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:73.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.43%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.43%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:73.43%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">Measurement period (years)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="font-size:9pt;"> 2.86</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="font-size:9pt;"> 2.87</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:73.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">Risk free interest rate</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4.42</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1.76</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:73.43%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">Dividend yield</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 0.00</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 0.00</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:73.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">Estimated fair value of market-based RSAs at grant date</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 270.64</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 298.20</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for share-based payment arrangement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -URI https://asc.fasb.org/topic&amp;trid=2228938<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (l)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br><br>Reference 4: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(1)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (h)(2)(i)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (h)(2)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>29
<FILENAME>R19.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.1</span><table class="report" border="0" cellspacing="2" id="idm140418084536720">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Business Combinations<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Mar. 31, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationsAbstract', window );"><strong>Business Combinations</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationDisclosureTextBlock', window );">Business Combinations</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><b style="font-weight:bold;white-space:pre-wrap;">11.  BUSINESS COMBINATIONS</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;">Acquiring businesses is a key part of our ongoing strategy to grow our company and expand our market share. &#160;Each acquisition has been accounted for as a business combination under ASC 805, &#8220;Business Combinations.&#8221; &#160;Acquisition related costs for the three months ended March 31, 2023 and 2022, were $1.7 million and $0.9 million, respectively. &#160;Acquisition related costs are included in selling, general, and administrative expense in our condensed consolidated statements of operations.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;">On January 26, 2023, we acquired the assets of the residential insulation business of SRI. This installation acquisition enhanced our presence in Georgia, Michigan, Ohio, Florida, Alabama and South Carolina. The purchase price of $45.8 million was funded by cash on hand and we recognized goodwill of $25.4 in connection with this acquisition.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="background:#ffffff;">As third-party or internal valuations are finalized, certain tax aspects of the foregoing transactions are completed, and customer post-closing reviews are concluded, adjustments may be made to the fair value of assets acquired, and in some cases total purchase price, through the end of each measurement period, generally one year following the applicable acquisition date. &#160;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;">The table below provides a summary as of March 31, 2023 for the businesses acquired and paid for with cash during the three months ended March 31, 2022, in thousands:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;white-space:nowrap;width:33.34%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:14.15%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:18.74%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:18.74%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:33.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"><b style="font-weight:bold;">2022 Acquisitions</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:16.65%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Date</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';">&#160;&#160;&#160;&#160;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:21.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Cash Paid</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;width:21.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Goodwill Acquired</b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:33.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;">Billings</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;">2/3/2022</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.74%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 7,005</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.74%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,313</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:33.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;">All others</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;">Various</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.74%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,500</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.74%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 780</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:33.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">Total</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.74%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 8,505</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.74%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4,093</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;">Goodwill to be recognized in connection with acquisitions is attributable to the synergies expected to be realized and improvements in the businesses after the acquisitions. &#160;Primarily all of the $25.4 million and $4.1 million of goodwill recorded from acquisitions completed in the three months ended March 31, 2023 and 2022, respectively, is expected to be deductible for income tax purposes.</p><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessCombinationDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for a business combination (or series of individually immaterial business combinations) completed during the period, including background, timing, and recognized assets and liabilities. The disclosure may include leverage buyout transactions (as applicable).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -URI https://asc.fasb.org/topic&amp;trid=2303972<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 20<br> -Section 50<br> -Paragraph 5<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=128092470&amp;loc=d3e4946-128472<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessCombinationsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationsAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>30
<FILENAME>R20.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.1</span><table class="report" border="0" cellspacing="2" id="idm140418088629632">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Accrued Liabilities<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Mar. 31, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PayablesAndAccrualsAbstract', window );"><strong>Accrued Liabilities.</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_bld_AccruedLiabilitiesDisclosureTextBlock', window );">Accrued Liabilities</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:6pt 0pt 0pt 0pt;"><b style="font-weight:bold;">12. &#160;ACCRUED LIABILITIES</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;">The following table sets forth the components of accrued liabilities, in thousands:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:66.28%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.11%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.96%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:66.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:31.84%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">As of</b></p></td></tr><tr><td style="vertical-align:bottom;width:66.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.53%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">March 31, 2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.44%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">December 31, 2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:66.28%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">Accrued liabilities: </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:66.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;">Salaries, wages, and bonus/commissions</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 52,742</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 75,901</p></td></tr><tr><td style="vertical-align:bottom;width:66.28%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;">Income taxes payable</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 40,740</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,134</p></td></tr><tr><td style="vertical-align:bottom;width:66.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;">Insurance liabilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 28,199</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 28,870</p></td></tr><tr><td style="vertical-align:bottom;width:66.28%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;">Customer rebates</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 11,169</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 21,561</p></td></tr><tr><td style="vertical-align:bottom;width:66.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;">Deferred revenue</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 20,738</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 21,940</p></td></tr><tr><td style="vertical-align:bottom;width:66.28%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;">Sales and property taxes</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 15,850</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 15,757</p></td></tr><tr><td style="vertical-align:bottom;width:66.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;">Interest payable on long-term debt</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,193</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 12,146</p></td></tr><tr><td style="vertical-align:bottom;width:66.28%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;">Other</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.11%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 20,716</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.96%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 21,061</p></td></tr><tr><td style="vertical-align:bottom;width:66.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">Total accrued liabilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.11%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 193,347</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.96%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 199,370</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="font-size:3pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="font-size:2pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;">See <i style="font-style:italic;">Note 3 &#8211; Revenue Recognition </i>for discussion of our deferred revenue balances. Accrued income taxes payable increased compared to December 31, 2022, due to the timing of tax payments, which typically occur later in the year.</p><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_bld_AccruedLiabilitiesDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for accrued liabilities at the end of the reporting period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">bld_AccruedLiabilitiesDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>bld_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PayablesAndAccrualsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PayablesAndAccrualsAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>31
<FILENAME>R21.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.1</span><table class="report" border="0" cellspacing="2" id="idm140418085983280">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Other Commitments and Contingencies<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Mar. 31, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CommitmentsAndContingenciesDisclosureAbstract', window );"><strong>Other Commitments and Contingencies</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CommitmentsAndContingenciesDisclosureTextBlock', window );">Other Commitments and Contingencies</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><b style="font-weight:bold;">13. &#160;OTHER COMMITMENTS AND CONTINGENCIES</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="font-style:italic;font-weight:bold;">Litigation</span>. &#160;We are subject to certain claims, charges, litigation, and other proceedings in the ordinary course of our business, including those arising from or related to contractual matters, intellectual property, personal injury, environmental matters, product liability, product recalls, construction defects, insurance coverage, personnel and employment disputes, antitrust, and other matters, including class actions. &#160;We believe we have adequate defenses in these matters, and we do not believe that the ultimate outcome of these matters will have a material adverse effect on us. &#160;However, there is no assurance that we will prevail in any of these pending matters, and we could in the future incur judgments, enter into settlements of claims, or revise our expectations regarding the outcome of these matters, which could materially impact our liquidity and our results of operations.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><b style="font-weight:bold;">Other Matters</b>.&#160; We enter into contracts, which include customary indemnities that are standard for the industries in which we operate. &#160;Such indemnities include, among other things, claims against our builder customers for issues relating to our workmanship. &#160;We generally exclude from our contracts with builder customers indemnity relating to product quality and warranty claims, as we pass such claims directly to the manufacturers of the products we install or distribute. &#160;In conjunction with divestitures and other transactions, we occasionally provide customary indemnities relating to various items including, among others, the enforceability of trademarks, legal and environmental issues, and asset valuations. &#160;We evaluate the probability that we may incur liabilities under these customary indemnities and appropriately record an estimated liability when deemed probable.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;">We also maintain indemnification agreements with our directors and officers that may require us to indemnify them against liabilities that arise by reason of their status or service as directors or officers, except as prohibited by applicable law.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;">We occasionally use performance bonds to ensure completion of our work on certain larger customer contracts that can span multiple accounting periods.&#160; Performance bonds generally do not have stated expiration dates; rather, we are released from the bonds as the contractual performance is completed.&#160; We also have bonds outstanding for license and insurance.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;">The following table summarizes our outstanding performance, licensing, insurance and other bonds, in thousands:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:67.62%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.47%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:67.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:30.86%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">As of</b></p></td></tr><tr><td style="vertical-align:bottom;width:67.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.36%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">March 31, 2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">December 31, 2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:67.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">Outstanding bonds:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:67.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;">Performance bonds</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 147,468</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 152,434</p></td></tr><tr><td style="vertical-align:bottom;width:67.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;">Licensing, insurance, and other bonds</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.85%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 25,527</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.47%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 25,439</p></td></tr><tr><td style="vertical-align:bottom;width:67.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">Total bonds</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.85%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 172,995</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.47%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 177,873</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommitmentsAndContingenciesDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommitmentsAndContingenciesDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommitmentsAndContingenciesDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for commitments and contingencies.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 440<br> -URI https://asc.fasb.org/topic&amp;trid=2144648<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 954<br> -SubTopic 440<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=6491277&amp;loc=d3e6429-115629<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 450<br> -URI https://asc.fasb.org/topic&amp;trid=2127136<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 440<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=123406679&amp;loc=d3e25336-109308<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 440<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=123406679&amp;loc=d3e25336-109308<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommitmentsAndContingenciesDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>32
<FILENAME>R22.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.1</span><table class="report" border="0" cellspacing="2" id="idm140418081088304">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Accounting Policies (Policies)<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Mar. 31, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccountingPoliciesAbstract', window );"><strong>Accounting Policies</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BasisOfAccountingPolicyPolicyTextBlock', window );">Financial Statement Presentation</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="font-family:'TimesNewRoman';font-style:italic;font-weight:bold;">Financial Statement Presentation.</span><span style="font-family:'TimesNewRoman';"> &#160;Our condensed consolidated financial statements have been developed in conformity with GAAP, which requires management to make estimates and assumptions. &#160;These estimates and assumptions affect the reported amounts of assets and liabilities and disclosures of contingent liabilities at the date of the financial statements, as well as the reported amounts of revenues and expenses during the reporting periods. &#160;Actual results could differ materially from these estimates. &#160;All intercompany transactions between TopBuild entities have been eliminated.</span></p><span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock', window );">Recently Adopted Accounting Pronouncements</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="font-family:'TimesNewRoman';font-style:italic;font-weight:bold;">Recently Adopted Accounting Pronouncements</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="font-family:'TimesNewRoman';font-style:italic;font-weight:bold;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;">In October 2021, the FASB issued ASU 2021-08, &#8220;Accounting for Contract Assets and Contract Liabilities from Contracts with Customers&#8221;.&#160; This standard improves the accounting for acquired revenue contracts with customers in a business combination by addressing diversity in practice and inconsistency related to recognition of an acquired contract liability, as well as payment terms and their effect on subsequent revenue recognized by the acquirer.  This standard became effective for us on January 1, 2023, and did not have a material impact to our financial statements upon adoption.</p><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccountingPoliciesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccountingPoliciesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BasisOfAccountingPolicyPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for basis of accounting, or basis of presentation, used to prepare the financial statements (for example, US Generally Accepted Accounting Principles, Other Comprehensive Basis of Accounting, IFRS).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BasisOfAccountingPolicyPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy pertaining to new accounting pronouncements that may impact the entity's financial reporting. Includes, but is not limited to, quantification of the expected or actual impact.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>33
<FILENAME>R23.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.1</span><table class="report" border="0" cellspacing="2" id="idm140418084969344">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Revenue Recognition (Tables)<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Mar. 31, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerAbstract', window );"><strong>Revenue Recognition</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueTableTextBlock', window );">Schedule of revenues disaggregated by market and product</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="font-family:'TimesNewRomanPSMT';visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;white-space:nowrap;width:16.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:9.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:9.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:16.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="23" style="vertical-align:bottom;white-space:nowrap;width:82.51%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Three Months Ended March&#160;31,&#160;</b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:16.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td colspan="11" style="vertical-align:bottom;white-space:nowrap;width:40.98%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="11" style="vertical-align:bottom;white-space:nowrap;width:41.02%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:16.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.57%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-size:8.5pt;font-weight:bold;">Installation</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:8.5pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8.5pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:9.14%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-size:8.5pt;font-weight:bold;">Specialty Distribution</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8.5pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8.5pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-size:8.5pt;font-weight:bold;">Eliminations</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8.5pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8.5pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.53%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-size:8.5pt;font-weight:bold;">Total</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8.5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8.5pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.58%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-size:8.5pt;font-weight:bold;">Installation</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:8.5pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8.5pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:9.14%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-size:8.5pt;font-weight:bold;">Specialty Distribution</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8.5pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8.5pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-size:8.5pt;font-weight:bold;">Eliminations</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8.5pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8.5pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-size:8.5pt;font-weight:bold;">Total</b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:16.79%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">Residential</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.69%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 645,703</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.14%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 224,326</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt;"> (51,390)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 818,639</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 563,303</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.14%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 236,411</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt;"> (43,421)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 756,293</p></td></tr><tr><td style="vertical-align:bottom;width:16.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">Commercial/Industrial</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.57%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 121,387</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.14%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 334,049</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt;"> (8,837)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.53%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 446,599</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.58%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 113,390</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.14%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 307,451</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt;"> (8,216)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 412,625</p></td></tr><tr><td style="vertical-align:bottom;width:16.79%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt 0pt 0pt 6pt;"><span style="white-space:pre-wrap;">   Net sales</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.69%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.57%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 767,090</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.14%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 558,375</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.54%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt;"> (60,227)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.53%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,265,238</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.58%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 676,693</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.14%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 543,862</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.54%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt;"> (51,637)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,168,918</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="font-family:'TimesNewRomanPSMT';visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="font-family:'TimesNewRomanPSMT';">The following table presents our revenues disaggregated by product (in thousands):</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="font-family:'TimesNewRomanPSMT';visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;white-space:nowrap;width:19.36%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:0.7%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.07%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:0.06%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;width:9.14%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:0.06%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.54%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:0.06%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.54%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:0.06%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.57%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:0.06%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;width:9.14%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:0.06%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.54%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:0.06%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.51%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:19.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="23" style="vertical-align:bottom;white-space:nowrap;width:79.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Three Months Ended March&#160;31,&#160;</b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:19.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td colspan="11" style="vertical-align:bottom;white-space:nowrap;width:40.2%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="11" style="vertical-align:bottom;white-space:nowrap;width:39.66%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:19.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.07%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-size:8.5pt;font-weight:bold;">Installation</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:8.5pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8.5pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:9.14%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-size:8.5pt;font-weight:bold;">Specialty Distribution</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:8.5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:8.5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-size:8.5pt;font-weight:bold;">Eliminations</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:8.5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:8.5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-size:8.5pt;font-weight:bold;">Total</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8.5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8.5pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.57%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-size:8.5pt;font-weight:bold;">Installation</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:8.5pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8.5pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:9.14%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-size:8.5pt;font-weight:bold;">Specialty Distribution</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:8.5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:8.5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-size:8.5pt;font-weight:bold;">Eliminations</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:8.5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:8.5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.51%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-size:8.5pt;font-weight:bold;">Total</b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:19.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">Insulation and accessories</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.07%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 600,767</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.14%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 502,802</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt;"> (51,973)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,051,596</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 536,341</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.14%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 479,760</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt;"> (43,810)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 972,291</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:19.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">Glass and windows</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 63,442</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="font-family:'Arial','Helvetica','sans-serif';"> -</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 63,442</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 51,196</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="font-family:'Arial','Helvetica','sans-serif';"> -</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="font-family:'Arial','Helvetica','sans-serif';"> -</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 51,196</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:19.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">Gutters</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.07%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 28,278</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.14%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 39,842</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt;"> (7,165)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 60,955</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 22,957</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.14%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 46,631</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt;"> (7,002)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 62,586</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:19.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">All other</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.07%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 74,603</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.14%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 15,731</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt;"> (1,089)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 89,245</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.57%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 66,199</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.14%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 17,471</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt;"> (825)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.51%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 82,845</p></td></tr><tr><td style="vertical-align:bottom;width:19.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"><span style="white-space:pre-wrap;">        Net sales</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.07%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 767,090</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.14%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 558,375</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.54%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt;"> (60,227)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.54%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,265,238</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.57%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 676,693</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.14%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 543,862</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.54%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt;"> (51,637)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.51%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,168,918</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="font-family:'TimesNewRomanPSMT';visibility:hidden;">&#8203;</span></p><span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock', window );">Schedule of contract assets and contract liabilities with customers</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;">The following table represents our contract assets and contract liabilities with customers, in thousands:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;white-space:nowrap;width:34.66%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:34.66%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.26%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.3%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:34.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:34.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Included in Line Item on</b></p></td><td style="vertical-align:bottom;width:1.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:29.13%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">As of </b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:34.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:34.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Condensed Consolidated</b></p></td><td style="vertical-align:bottom;width:1.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">March&#160;31,&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">December&#160;31,&#160;</b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:34.66%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:34.66%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Balance Sheets</b></p></td><td style="vertical-align:bottom;width:1.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.78%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.82%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:34.66%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">Contract Assets:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:34.66%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:34.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;">Receivables, unbilled</p></td><td style="vertical-align:bottom;white-space:nowrap;width:34.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;">Receivables, net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 78,034</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 75,481</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:34.66%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:34.66%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:34.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">Contract Liabilities:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:34.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:34.66%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;">Deferred revenue</p></td><td style="vertical-align:bottom;white-space:nowrap;width:34.66%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;">Accrued liabilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 20,738</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 21,940</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of receivable, contract asset, and contract liability from contract with customer. Includes, but is not limited to, change in contract asset and contract liability.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=126920106&amp;loc=SL49130551-203045<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DisaggregationOfRevenueTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of disaggregation of revenue into categories depicting how nature, amount, timing, and uncertainty of revenue and cash flows are affected by economic factor.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 5<br> -URI https://asc.fasb.org/extlink&amp;oid=126920106&amp;loc=SL49130545-203045<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DisaggregationOfRevenueTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenueFromContractWithCustomerAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueFromContractWithCustomerAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>34
<FILENAME>R24.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.1</span><table class="report" border="0" cellspacing="2" id="idm140418081027040">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Goodwill and Other Intangibles (Tables)<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Mar. 31, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract', window );"><strong>Goodwill and Other Intangibles</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfGoodwillTextBlock', window );">Changes in the carrying amount of goodwill by segment</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;">Changes in the carrying amount of goodwill for three months ended March 31, 2023, by segment, were as follows, in thousands:</p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:13.08%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;width:2.08%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.56%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.43%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;width:2.08%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.23%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.05%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;width:2.08%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;width:1.38%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;width:1.04%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.26%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;width:2.08%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.38%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;width:2.08%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.11%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:13.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"><b style="font-family:'Arial','Helvetica','sans-serif';font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"><b style="font-family:'Arial','Helvetica','sans-serif';font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"><b style="font-family:'Arial','Helvetica','sans-serif';font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:1.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-family:'Arial','Helvetica','sans-serif';font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"><b style="font-family:'Arial','Helvetica','sans-serif';font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;Accumulated&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"><b style="font-family:'Arial','Helvetica','sans-serif';font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:13.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Gross&#160;Goodwill</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;width:8.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Fx Translation</b></p></td><td style="vertical-align:bottom;width:1.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Gross&#160;Goodwill</b></p></td><td style="vertical-align:bottom;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Impairment</b></p></td><td style="vertical-align:bottom;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Net&#160;Goodwill</b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:13.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">December&#160;31,&#160;2022</b></p></td><td style="vertical-align:bottom;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.29%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Additions</b></p></td><td style="vertical-align:bottom;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Adjustment</b></p></td><td style="vertical-align:bottom;width:1.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.53%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">March&#160;31,&#160;2023</b></p></td><td style="vertical-align:bottom;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.32%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Losses</b></p></td><td style="vertical-align:bottom;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.39%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">March&#160;31,&#160;2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:13.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">Goodwill, by segment:</p></td><td style="vertical-align:bottom;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.56%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.43%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.23%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:1.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:1.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:13.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;">Installation</p></td><td style="vertical-align:bottom;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,826,979</p></td><td style="vertical-align:bottom;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 25,384</p></td><td style="vertical-align:bottom;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;width:1.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,852,363</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt;"> (762,021)</p></td><td style="vertical-align:bottom;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,090,342</p></td></tr><tr><td style="vertical-align:bottom;width:13.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;">Specialty Distribution</p></td><td style="vertical-align:bottom;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.56%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.43%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 902,036</p></td><td style="vertical-align:bottom;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.23%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.05%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:1.38%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 16</p></td><td style="vertical-align:bottom;width:1.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.26%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 902,052</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.38%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.11%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 902,052</p></td></tr><tr><td style="vertical-align:bottom;width:13.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">Total goodwill</p></td><td style="vertical-align:bottom;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;"><span style="font-size:9pt;margin-left:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.56%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.43%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,729,015</p></td><td style="vertical-align:bottom;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;"><span style="font-size:9pt;margin-left:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.23%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.05%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 25,384</p></td><td style="vertical-align:bottom;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;"><span style="font-size:9pt;margin-left:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 16</p></td><td style="vertical-align:bottom;width:1.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;"><span style="font-size:9pt;margin-left:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.26%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,754,415</p></td><td style="vertical-align:bottom;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;"><span style="font-size:9pt;margin-left:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.38%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt;"> (762,021)</p></td><td style="vertical-align:bottom;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;"><span style="font-size:9pt;margin-left:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.11%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,992,394</p></td></tr></table><span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_bld_ScheduleOfAcquiredFiniteLivedAndIndefiniteLivedIntangibleAssetTableTextBlock', window );">Schedule of other intangible assets</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;">Other intangible assets, net includes customer relationships, non-compete agreements, and trademarks / trade names.&#160;&#160;The following table sets forth our other intangible assets, in thousands:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;line-height:1.19;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:57.75%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:17.08%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:17.08%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:57.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:40.22%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">As of</b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:57.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:19.1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">March 31, 2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:19.1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">December 31, 2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:57.75%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">Gross definite-lived intangible assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 791,939</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 782,316</p></td></tr><tr><td style="vertical-align:bottom;width:57.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">Accumulated amortization</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.08%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt;"> (184,256)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.08%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt;"> (167,349)</p></td></tr><tr><td style="vertical-align:bottom;width:57.75%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt 0pt 0pt 6pt;">Net definite-lived intangible assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.08%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 607,683</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.08%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 614,967</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseTableTextBlock', window );">Schedule of amortization expense</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;line-height:1.19;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:57.75%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:17.08%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:17.08%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:57.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:40.22%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">As of</b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:57.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:19.1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">March 31, 2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:19.1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">December 31, 2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:57.75%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">Gross definite-lived intangible assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 791,939</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 782,316</p></td></tr><tr><td style="vertical-align:bottom;width:57.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">Accumulated amortization</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.08%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt;"> (184,256)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.08%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt;"> (167,349)</p></td></tr><tr><td style="vertical-align:bottom;width:57.75%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt 0pt 0pt 6pt;">Net definite-lived intangible assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.08%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 607,683</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.08%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 614,967</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_bld_ScheduleOfAcquiredFiniteLivedAndIndefiniteLivedIntangibleAssetTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of finite lived and indefinite lived intangible assets.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">bld_ScheduleOfAcquiredFiniteLivedAndIndefiniteLivedIntangibleAssetTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>bld_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of amortization expense of assets, excluding financial assets, that lack physical substance, having a limited useful life.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfGoodwillTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of goodwill by reportable segment and in total which includes a rollforward schedule.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (h)<br> -URI https://asc.fasb.org/extlink&amp;oid=121556970&amp;loc=d3e13816-109267<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=121556970&amp;loc=d3e13816-109267<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (g)<br> -URI https://asc.fasb.org/extlink&amp;oid=121556970&amp;loc=d3e13816-109267<br><br>Reference 4: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=121556970&amp;loc=d3e13816-109267<br><br>Reference 5: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (e)<br> -URI https://asc.fasb.org/extlink&amp;oid=121556970&amp;loc=d3e13816-109267<br><br>Reference 6: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (d)<br> -URI https://asc.fasb.org/extlink&amp;oid=121556970&amp;loc=d3e13816-109267<br><br>Reference 7: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1A<br> -URI https://asc.fasb.org/extlink&amp;oid=121556970&amp;loc=SL108378252-109267<br><br>Reference 8: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=121556970&amp;loc=d3e13816-109267<br><br>Reference 9: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=121556970&amp;loc=d3e13816-109267<br><br>Reference 10: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=121556970&amp;loc=d3e13854-109267<br><br>Reference 11: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 55<br> -Paragraph 24<br> -URI https://asc.fasb.org/extlink&amp;oid=122137925&amp;loc=d3e14258-109268<br><br>Reference 12: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=121556970&amp;loc=d3e13816-109267<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfGoodwillTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>35
<FILENAME>R25.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.1</span><table class="report" border="0" cellspacing="2" id="idm140418087550256">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Long-Term Debt (Tables)<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Mar. 31, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtDisclosureAbstract', window );"><strong>Long-Term Debt</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfDebtTableTextBlock', window );">Reconciliation of principal balance of outstanding debt</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;">The following table reconciles the principal balances of our outstanding debt to our condensed consolidated balance sheets, in thousands:</p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:66.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:66.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:31.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">As of</b></p></td></tr><tr><td style="vertical-align:bottom;width:66.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.82%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">March 31, 2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">December 31, 2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:66.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">3.625% Senior Notes due 2029</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 400,000</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 400,000</p></td></tr><tr><td style="vertical-align:bottom;width:66.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">4.125% Senior Notes due 2032</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 500,000</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 500,000</p></td></tr><tr><td style="vertical-align:bottom;width:66.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">Term loan</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 558,750</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 566,250</p></td></tr><tr><td style="vertical-align:bottom;width:66.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">Equipment notes</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 6,185</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 8,427</p></td></tr><tr><td style="vertical-align:bottom;width:66.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">Unamortized debt issuance costs</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.36%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt;"> (16,633)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.53%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.49%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt;"> (17,352)</p></td></tr><tr><td style="vertical-align:bottom;width:66.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">Total debt, net of unamortized debt issuance costs</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,448,302</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,457,325</p></td></tr><tr><td style="vertical-align:bottom;width:66.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;">Less: current portion of long-term debt</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.36%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 42,371</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.53%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.49%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 40,068</p></td></tr><tr><td style="vertical-align:bottom;width:66.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">Total long-term debt</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.36%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,405,931</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.53%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.49%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,417,257</p></td></tr></table><span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfMaturitiesOfLongTermDebtTableTextBlock', window );">Schedule of remaining principal payments of debt</a></td>
<td class="text"><p style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="font-family:'Times New Roman','Times','serif';">The following table sets forth our remaining principal payments for our outstanding debt balances as of March 31, 2023, in thousands:</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:21.83%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.37%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.39%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.39%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.39%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.39%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.39%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:21.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.37%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.39%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.39%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.39%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.39%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.39%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:21.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.74%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.77%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.77%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">2025</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;width:9.77%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">2026</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;width:9.77%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">2027</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.77%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Thereafter</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.88%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Total</b></p></td></tr><tr><td style="vertical-align:bottom;width:21.83%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">3.625% Senior Notes</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.39%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.39%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.39%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.39%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.39%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 400,000</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 400,000</p></td></tr><tr><td style="vertical-align:bottom;width:21.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">4.125% Senior Notes</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 500,000</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 500,000</p></td></tr><tr><td style="vertical-align:bottom;width:21.83%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">Term loan</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 26,250</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.39%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 45,000</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.39%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 48,750</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.39%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 438,750</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.39%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.39%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 558,750</p></td></tr><tr><td style="vertical-align:bottom;width:21.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">Equipment notes</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.37%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4,076</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.39%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,109</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.39%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.39%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.39%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.39%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 6,185</p></td></tr><tr><td style="vertical-align:bottom;width:21.83%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;">Total</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.37%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 30,326</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.39%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 47,109</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.39%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 48,750</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.39%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 438,750</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.39%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.39%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 900,000</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,464,935</p></td></tr></table><span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_bld_SummaryOfKeyTermsOfCreditAgreementTableTextBlock', window );">Summary of key terms of the Credit Agreement</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;">The following table outlines the key terms of the Credit Agreement (dollars in thousands):</p><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="font-size:10pt;margin-bottom:5pt;margin-top:5pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:83.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:83.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">Senior secured term loan facility</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 300,000</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:83.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">Additional delayed draw term loan</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 300,000</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:83.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:83.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">Additional term loan and/or revolver capacity available under incremental facility (a)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 300,000</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:83.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:83.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">Revolving facility</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 500,000</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:83.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">Sublimit for issuance of letters of credit under revolving facility (b)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 100,000</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:83.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">Sublimit for swingline loans under revolving facility (b)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 35,000</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:83.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:83.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">Interest rate as of March&#160;31,&#160;2023</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 5.91</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:83.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">Scheduled maturity date</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="font-size:9pt;">10/7/2026</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td></tr></table><div style="font-family:'Calibri','Helvetica','sans-serif';font-size:8.0pt;margin-bottom:0pt;min-height:1.19em;position:relative;width:100%;"><div style="background-color:#000000;height:1pt;position:relative;top:0.6em;width:25.0%;border:none;margin:0 auto 0 0;"/></div><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="font-family:'Times New Roman','Times','serif';font-size:9pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">(a)</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:9pt;font-style:normal;font-weight:normal;">Additional borrowing capacity is available under the incremental facility, subject to certain terms and conditions (including existing or new lenders providing commitments in respect of such additional borrowing capacity).</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="font-family:'Times New Roman','Times','serif';font-size:9pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">(b)</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:9pt;font-style:normal;font-weight:normal;">Use of the sublimits for the issuance of letters of credit and swingline loans reduces the availability under the Revolving Facility.</span></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="font-size:10pt;margin-bottom:5pt;margin-top:5pt;visibility:hidden;">&#8203;</span></p><span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_bld_ScheduleOfAvailabilityUnderRevolvingFacilityTableTextBlock', window );">Schedule of availability under the Revolving Facility</a></td>
<td class="text"><p style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="font-family:'Times New Roman','Times','serif';">The following table summarizes our availability under the Revolving Facility, in thousands:</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;white-space:nowrap;width:66.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:66.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:31.32%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">As of</b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:66.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"><span style="font-family:'Arial','Helvetica','sans-serif';">&#160;&#160;&#160;&#160;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">March 31, 2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">December 31, 2022</b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:66.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">Revolving facility</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 500,000</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.56%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.43%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 500,000</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:66.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;">Less: standby letters of credit</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.17%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt;"> (67,689)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.56%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.43%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt;"> (67,689)</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:66.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">Availability under revolving facility</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.17%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 432,311</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.56%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.43%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 432,311</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_bld_ScheduleOfKeyFinancialCovenantsTableTextBlock', window );">Schedule of the key financial covenants</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="font-size:10pt;margin-bottom:5pt;margin-top:5pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;white-space:nowrap;width:75.81%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.74%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:22.43%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:75.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-family:'Arial','Helvetica','sans-serif';font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:22.43%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">As of March&#160;31,&#160;2023</b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:75.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">Maximum Net Leverage Ratio</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.74%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:22.43%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;">3.50:1.00</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:75.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">Minimum Interest Coverage Ratio</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:22.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;">3.00:1.00</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:75.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">Compliance as of period end</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.74%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:22.43%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;">In Compliance</p></td></tr></table><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_bld_ScheduleOfAvailabilityUnderRevolvingFacilityTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Represents tabular information about the availability under the Revolving Facility.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">bld_ScheduleOfAvailabilityUnderRevolvingFacilityTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>bld_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_bld_ScheduleOfKeyFinancialCovenantsTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Represents tabular information about the key financial covenants.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">bld_ScheduleOfKeyFinancialCovenantsTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>bld_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_bld_SummaryOfKeyTermsOfCreditAgreementTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Represents tabular information about the key terms of the Credit Agreement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">bld_SummaryOfKeyTermsOfCreditAgreementTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>bld_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfDebtTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of information pertaining to short-term and long-debt instruments or arrangements, including but not limited to identification of terms, features, collateral requirements and other information necessary to a fair presentation.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfDebtTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfMaturitiesOfLongTermDebtTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of maturity and sinking fund requirement for long-term debt.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=123465755&amp;loc=d3e1835-112601<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfMaturitiesOfLongTermDebtTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>36
<FILENAME>R26.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.1</span><table class="report" border="0" cellspacing="2" id="idm140418085010144">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Fair Value Measurements (Tables)<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Mar. 31, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FairValueDisclosuresAbstract', window );"><strong>Fair Value Measurements</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FairValueLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTableTextBlock', window );">Schedule of fair value of liabilities</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;line-height:1.19;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;white-space:nowrap;width:65.31%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;margin-bottom:0pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;margin-bottom:0pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;margin-bottom:0pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.15%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;margin-bottom:0pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;margin-bottom:0pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;margin-bottom:0pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:17.51%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;margin-bottom:0pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:65.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;margin-bottom:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;margin-bottom:0pt;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:33.18%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">As of March&#160;31,&#160;2023</b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:65.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;margin-bottom:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;margin-bottom:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;margin-bottom:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Fair Value</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;margin-bottom:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;margin-bottom:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Gross Carrying Value</b></p></td></tr><tr><td style="vertical-align:bottom;width:65.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;">3.625% Senior Notes</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;margin-bottom:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 348,580</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;margin-bottom:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 400,000</p></td></tr><tr><td style="vertical-align:bottom;width:65.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;">4.125% Senior Notes</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;margin-bottom:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 427,500</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;margin-bottom:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 500,000</p></td></tr></table><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FairValueDisclosuresAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FairValueDisclosuresAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FairValueLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of liabilities measured at fair value measured on a recurring or nonrecurring basis. Includes, but is not limited to, fair value measurements recorded and the reasons for the measurements, level within the fair value hierarchy in which the fair value measurements are categorized and transfers between levels 1 and 2.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 820<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126976982&amp;loc=d3e19207-110258<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 820<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126976982&amp;loc=d3e19207-110258<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FairValueLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>37
<FILENAME>R27.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.1</span><table class="report" border="0" cellspacing="2" id="idm140418084536720">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Segment Information (Tables)<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Mar. 31, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SegmentReportingAbstract', window );"><strong>Segment Information</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfSegmentReportingInformationBySegmentTextBlock', window );">Schedule of net sales and operating results by segment</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">The following tables set forth our net sales and operating results by segment, in thousands:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:47.94%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:0.56%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.87%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:0.55%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.87%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:0.55%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.87%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:0.55%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.87%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:47.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td colspan="11" style="vertical-align:bottom;white-space:nowrap;width:51.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Three Months Ended March&#160;31,&#160;</b></p></td></tr><tr><td style="vertical-align:bottom;width:47.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.47%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.47%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.47%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.38%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr style="height:0pt;visibility:hidden;"><td colspan="13" style="padding:0pt;"/></tr><tr><td style="vertical-align:bottom;width:47.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:25.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Net Sales</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:25.41%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Operating Profit (b)</b></p></td></tr><tr><td style="vertical-align:bottom;width:47.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">Operations by segment (a):</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.56%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:47.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt 0pt 0pt 6pt;">Installation</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 767,090</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 676,693</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 146,897</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 112,679</p></td></tr><tr><td style="vertical-align:bottom;width:47.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt 0pt 0pt 6pt;">Specialty Distribution</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.56%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 558,375</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 543,862</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 73,333</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 70,420</p></td></tr><tr><td style="vertical-align:bottom;width:47.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt 0pt 0pt 6pt;">Intercompany eliminations</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.87%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt;"> (60,227)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.87%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt;"> (51,637)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.87%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt;"> (9,971)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.87%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt;"> (8,708)</p></td></tr><tr><td style="vertical-align:bottom;width:47.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt 0pt 0pt 18pt;">Total</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.56%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.87%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,265,238</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.87%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,168,918</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 210,259</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 174,391</p></td></tr><tr><td style="vertical-align:bottom;width:47.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">General corporate expense, net (c)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.87%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt;"> (10,828)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.87%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt;"> (10,437)</p></td></tr><tr><td style="vertical-align:bottom;width:47.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt 0pt 0pt 18pt;">Operating profit, as reported</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.56%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 199,431</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 163,954</p></td></tr><tr><td style="vertical-align:bottom;width:47.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">Other expense, net </p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.87%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt;"> (16,116)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.87%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt;"> (11,282)</p></td></tr><tr><td style="vertical-align:middle;width:47.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt 0pt 0pt 18pt;">Income before income taxes</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.56%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.87%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 183,315</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.87%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 152,672</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p><div style="font-family:'Times New Roman','Times','serif';font-size:8.0pt;margin-bottom:0pt;min-height:1.19em;position:relative;width:100%;"><div style="background-color:#000000;height:1pt;position:relative;top:0.6em;width:25.0%;border:none;margin:0 auto 0 0;"/></div><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="font-family:'Times New Roman','Times','serif';font-size:9pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">(a)</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:9pt;font-style:normal;font-weight:normal;">All of our operations are located primarily in the U.S and to a lesser extent Canada.</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="font-family:'Times New Roman','Times','serif';font-size:9pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">(b)</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:9pt;font-style:normal;font-weight:normal;">Segment operating profit includes an allocation of general corporate expenses attributable to the operating segments which is based on direct benefit or usage (such as salaries of corporate employees who directly support the segment).</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="font-family:'Times New Roman','Times','serif';font-size:9pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">(c)</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:9pt;font-style:normal;font-weight:normal;">General corporate expense, net includes expenses not specifically attributable to our segments for functions such as corporate human resources, finance, and legal, including salaries, benefits, and other related costs</span><span style="font-family:'Times New Roman','Times','serif';font-size:9pt;font-style:normal;font-weight:normal;">. </span></td></tr></table><div style="margin-top:6pt;"/><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfSegmentReportingInformationBySegmentTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the profit or loss and total assets for each reportable segment. An entity discloses certain information on each reportable segment if the amounts (a) are included in the measure of segment profit or loss reviewed by the chief operating decision maker or (b) are otherwise regularly provided to the chief operating decision maker, even if not included in that measure of segment profit or loss.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 25<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8813-108599<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=121556970&amp;loc=d3e13816-109267<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8906-108599<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfSegmentReportingInformationBySegmentTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SegmentReportingAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SegmentReportingAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>38
<FILENAME>R28.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.1</span><table class="report" border="0" cellspacing="2" id="idm140418084958896">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Net Income Per Share (Tables)<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Mar. 31, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EarningsPerShareAbstract', window );"><strong>Net Income Per Share</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock', window );">Schedule of basic and diluted income per share</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;">Basic and diluted net income per share were computed as follows:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:-0.036060333%;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:55.35%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.36%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.36%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:17.58%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.36%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.36%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:17.58%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:55.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="vertical-align:bottom;width:42.27%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Three Months Ended March&#160;31,&#160;</b></p></td></tr><tr><td style="vertical-align:bottom;width:55.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:19.95%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:19.95%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:55.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">Net income (in thousands)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.36%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.58%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 135,870</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.36%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.58%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 114,711</p></td></tr><tr><td style="vertical-align:bottom;width:55.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:55.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">Weighted average number of common shares outstanding - basic</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 31,550,658</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 32,738,525</p></td></tr><tr><td style="vertical-align:bottom;width:55.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:55.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">Dilutive effect of common stock equivalents:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:55.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;">RSAs with service-based conditions</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 22,643</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 15,127</p></td></tr><tr><td style="vertical-align:bottom;width:55.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;">RSAs with market-based conditions</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 24,861</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 100,158</p></td></tr><tr><td style="vertical-align:bottom;width:55.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;">RSAs with performance-based conditions</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 29,031</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 64,025</p></td></tr><tr><td style="vertical-align:bottom;width:55.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;">Stock options</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.36%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.58%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 86,046</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.36%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.58%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 124,655</p></td></tr><tr><td style="vertical-align:bottom;width:55.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:55.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">Weighted average number of common shares outstanding - diluted</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 31,713,239</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 33,042,490</p></td></tr><tr><td style="vertical-align:bottom;width:55.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:55.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"><b style="font-weight:bold;">Basic net income per common share</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.36%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.58%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4.31</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.36%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.58%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3.50</p></td></tr><tr><td style="vertical-align:bottom;width:55.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:55.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"><b style="font-weight:bold;">Diluted net income per common share</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.36%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.58%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4.28</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.36%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.58%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3.47</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock', window );">Summary of shares excluded from the calculation of diluted income per share because their effect would have been anti-dilutive</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;">The following table summarizes shares excluded from the calculation of diluted net income per share because their effect would have been anti-dilutive:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:55.32%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:17.57%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:17.57%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:55.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="vertical-align:bottom;width:42.29%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Three Months Ended March&#160;31,&#160;</b></p></td></tr><tr><td style="vertical-align:bottom;width:55.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:19.95%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:19.95%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:55.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">Anti-dilutive common stock equivalents:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:55.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;">RSAs with service-based conditions</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 11,163</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 10,244</p></td></tr><tr><td style="vertical-align:bottom;width:55.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;">RSAs with market-based conditions</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 8,933</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 382</p></td></tr><tr><td style="vertical-align:bottom;width:55.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;">RSAs with performance-based conditions</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 7,908</p></td></tr><tr><td style="vertical-align:bottom;width:55.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;">Stock options</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.57%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 22,280</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.57%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 16,587</p></td></tr><tr><td style="vertical-align:bottom;width:55.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">Total anti-dilutive common stock equivalents</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.57%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 42,376</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.57%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 35,121</p></td></tr></table><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EarningsPerShareAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerShareAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of securities (including those issuable pursuant to contingent stock agreements) that could potentially dilute basic earnings per share (EPS) in the future that were not included in the computation of diluted EPS because to do so would increase EPS amounts or decrease loss per share amounts for the period presented, by antidilutive securities.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=124432515&amp;loc=d3e3550-109257<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of an entity's basic and diluted earnings per share calculations, including a reconciliation of numerators and denominators of the basic and diluted per-share computations for income from continuing operations.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124432515&amp;loc=d3e3550-109257<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>39
<FILENAME>R29.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.1</span><table class="report" border="0" cellspacing="2" id="idm140418083677648">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Share-Based Compensation (Tables)<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Mar. 31, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-Based Compensation</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_bld_ScheduleOfShareBasedCompensationExpenseTableTextBlock', window );">Schedule of share-based compensation expense and related income tax benefit</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="font-size:10pt;margin-bottom:5pt;margin-top:5pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;">The following table presents share-based compensation amounts recognized in our condensed consolidated statements of operations, in thousands: </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;white-space:nowrap;width:57.71%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.42%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.42%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:16.29%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.42%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.42%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:16.29%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:57.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:39.86%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Three Months Ended March&#160;31,&#160;</b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:57.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:18.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:18.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:57.71%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">Share-based compensation expense</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,135</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,727</p></td></tr><tr><td style="vertical-align:bottom;width:57.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">Income tax (expense)/benefit</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt;"> (45)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,605</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfShareBasedCompensationActivityTableTextBlock', window );">Schedule of share-based compensation activity</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;">The following table presents a summary of our share-based compensation activity for three months ended March 31,&#160;2023, in thousands, except per share amounts:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;white-space:nowrap;width:21.02%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.24%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.58%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.13%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.51%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.13%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.45%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.34%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:21.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="4" style="vertical-align:bottom;white-space:nowrap;width:24.81%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">RSAs</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="10" style="vertical-align:bottom;white-space:nowrap;width:51.34%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Stock Options</b></p></td></tr><tr><td style="vertical-align:bottom;width:21.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:1.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:10.58%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Number&#160;of Shares</b></p></td><td style="vertical-align:bottom;width:1.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"><b style="font-family:'Arial','Helvetica','sans-serif';font-weight:bold;">&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;width:12.68%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Weighted Average&#160;Grant Date&#160;Fair&#160;Value Per&#160;Share</b></p></td><td style="vertical-align:bottom;width:1.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"><b style="font-family:'Arial','Helvetica','sans-serif';font-weight:bold;">&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;width:10.51%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Number&#160;of Shares</b></p></td><td style="vertical-align:bottom;width:1.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"><b style="font-family:'Arial','Helvetica','sans-serif';font-weight:bold;">&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;width:12.68%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Weighted Average&#160;Grant Date&#160;Fair&#160;Value Per&#160;Share</b></p></td><td style="vertical-align:bottom;width:1.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"><b style="font-family:'Arial','Helvetica','sans-serif';font-weight:bold;">&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;width:11.83%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Weighted Average Exercise&#160;Price Per&#160;Share</b></p></td><td style="vertical-align:bottom;width:1.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"><b style="font-family:'Arial','Helvetica','sans-serif';font-weight:bold;">&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;width:11.64%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Aggregate</b><b style="font-weight:bold;"><br/></b><b style="font-weight:bold;">Intrinsic</b><b style="font-weight:bold;"><br/></b><b style="font-weight:bold;">Value</b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:21.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">Balance December&#160;31,&#160;2022</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 173.2</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 195.06</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 182.2</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 32.25</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 86.79</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 13,992.3</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:21.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;">Granted</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;"><span style="font-size:9pt;margin-left:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 95.4</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 202.24</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:21.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;">Converted/Exercised</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;"><span style="font-size:9pt;margin-left:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt;"> (95.0)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 145.57</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt;"> (28.8)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 13.07</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 35.67</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4,504.8</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:21.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;">Forfeited/Expired</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;"><span style="font-size:9pt;margin-left:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.58%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt;"> (5.3)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.13%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 242.76</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.51%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.13%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.34%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:21.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">Balance March&#160;31,&#160;2023</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.58%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 168.3</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.13%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 225.41</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.51%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 153.4</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.13%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 35.98</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.45%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 96.40</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.34%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 17,277.2</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:21.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.51%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.13%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.34%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td colspan="3" style="vertical-align:bottom;white-space:nowrap;width:32.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">Exercisable March&#160;31,&#160;2023 (a)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.51%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 145.9</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.13%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 33.25</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.45%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 90.39</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.34%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 17,277.2</p></td></tr></table><div style="font-family:'Times New Roman','Times','serif';font-size:8.0pt;margin-bottom:0pt;min-height:1.19em;position:relative;width:100%;"><div style="background-color:#000000;height:1pt;position:relative;top:0.6em;width:25.0%;border:none;margin:0 auto 0 0;"/></div><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="font-family:'Times New Roman','Times','serif';font-size:9pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">(a)</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:9pt;font-style:normal;font-weight:normal;">The weighted average remaining contractual term for vested stock options is approximately</span><span style="font-family:'Times New Roman','Times','serif';font-size:9pt;font-style:normal;font-weight:normal;"> 5.9 </span><span style="font-family:'Times New Roman','Times','serif';font-size:9pt;font-style:normal;font-weight:normal;">years.</span></td></tr></table><span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_bld_ScheduleOfUnrecognizedShareBasedCompensationExpenseNonvestedAwards', window );">Schedule of unrecognized share-based compensation expense relating to unvested awards</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;">We had unrecognized share-based compensation expense related to unvested awards is shown in the following table, dollars in thousands:</p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;white-space:nowrap;width:59.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:59.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:38.81%;background:#ffffff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">As of March&#160;31,&#160;2023</b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:59.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;width:18.61%;background:#ffffff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Unrecognized Compensation Expense </b><b style="font-weight:bold;"><br/></b><b style="font-weight:bold;">on Unvested Awards</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;width:18.66%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Weighted Average</b><b style="font-weight:bold;"><br/></b><b style="font-weight:bold;">Remaining</b><b style="font-weight:bold;"><br/></b><b style="font-weight:bold;">Compensation Expense Period</b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:59.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;">RSAs</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 24,835</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.14%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:9pt;"> 1.2</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:59.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;">Stock options</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.51%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 397</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:9pt;"> 0.5</span></p></td></tr><tr><td style="vertical-align:bottom;width:59.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">Total unrecognized compensation expense related to unvested awards</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.51%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.1%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 25,232</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.14%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_bld_ScheduleOfShareBasedPaymentAwardOtherThanOptionsValuationAssumptionsTableTextBlock', window );">Schedule of key inputs used to estimate the fair value of awards</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;white-space:nowrap;width:73.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:73.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.43%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.43%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:73.43%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">Measurement period (years)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="font-size:9pt;"> 2.86</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="font-size:9pt;"> 2.87</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:73.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">Risk free interest rate</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4.42</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1.76</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:73.43%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">Dividend yield</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 0.00</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 0.00</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:73.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">Estimated fair value of market-based RSAs at grant date</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 270.64</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 298.20</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td></tr></table><span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_bld_VestingCriteriaAxis=bld_VestingBasedOnPerformanceMember', window );">Performance-based conditions | Restricted Stock Awards</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-Based Compensation</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_bld_ScheduleOfShareBasedPaymentAwardRestrictedStockAwardsPayoutRangeAndRelatedExpenseTableTextBlock', window );">Schedule of the range of payouts and the related expense for RSAs with performance-based conditions</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;white-space:nowrap;width:41.14%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.96%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.96%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.96%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.96%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.88%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:41.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td colspan="11" style="vertical-align:bottom;white-space:nowrap;width:45.86%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Payout Ranges and Related Expense</b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:41.14%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"><b style="font-weight:bold;">RSAs with Performance-Based Conditions</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;width:10.3%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Grant Date Fair Value</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;width:10.3%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">0%</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;width:10.3%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">25%</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;width:10.3%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">100%</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;width:10.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">200%</b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:41.14%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">February 16, 2021</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,197</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 549</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,197</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4,394</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:41.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">February 15, 2022</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,097</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 774</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,097</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 6,194</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:41.14%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">February 21, 2023</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4,192</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,048</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4,192</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 8,384</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_bld_ScheduleOfShareBasedCompensationExpenseTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of share-based compensation expense.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">bld_ScheduleOfShareBasedCompensationExpenseTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>bld_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_bld_ScheduleOfShareBasedPaymentAwardOtherThanOptionsValuationAssumptionsTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the significant assumptions used during the year to estimate the fair value of awards, other than options, including, but not limited to: (a) expected term, (b) expected volatility of the entity's shares, (c) expected dividends, (d) risk-free rate(s), and (e) discount for post-vesting restrictions.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">bld_ScheduleOfShareBasedPaymentAwardOtherThanOptionsValuationAssumptionsTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>bld_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_bld_ScheduleOfShareBasedPaymentAwardRestrictedStockAwardsPayoutRangeAndRelatedExpenseTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of restricted stock awards with performance-based conditions relating to the grant date fair value, payout range and related expenses.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">bld_ScheduleOfShareBasedPaymentAwardRestrictedStockAwardsPayoutRangeAndRelatedExpenseTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>bld_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_bld_ScheduleOfUnrecognizedShareBasedCompensationExpenseNonvestedAwards">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of unrecognized share-based compensation expense related to unvested awards.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">bld_ScheduleOfUnrecognizedShareBasedCompensationExpenseNonvestedAwards</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>bld_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfShareBasedCompensationActivityTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of activity for award under share-based payment arrangement. Includes, but is not limited to, outstanding award at beginning and end of year, granted, exercised, forfeited, and weighted-average grant date fair value.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (e)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (d)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfShareBasedCompensationActivityTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_bld_VestingCriteriaAxis=bld_VestingBasedOnPerformanceMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">bld_VestingCriteriaAxis=bld_VestingBasedOnPerformanceMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AwardTypeAxis=us-gaap_RestrictedStockMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AwardTypeAxis=us-gaap_RestrictedStockMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>40
<FILENAME>R30.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.1</span><table class="report" border="0" cellspacing="2" id="idm140418084959024">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Business Combinations (Tables)<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Mar. 31, 2023</div></th></tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=bld_Acquisitions2022Member', window );">2022 Acquisitions</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionLineItems', window );"><strong>Business Combinations</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTextBlock', window );">Summary of businesses acquired</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;white-space:nowrap;width:33.34%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:14.15%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:18.74%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:18.74%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:33.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"><b style="font-weight:bold;">2022 Acquisitions</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:16.65%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Date</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';">&#160;&#160;&#160;&#160;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:21.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Cash Paid</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;width:21.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Goodwill Acquired</b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:33.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;">Billings</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;">2/3/2022</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.74%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 7,005</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.74%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,313</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:33.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;">All others</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;">Various</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.74%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,500</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.74%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 780</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:33.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">Total</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.74%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 8,505</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.74%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4,093</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessAcquisitionLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessAcquisitionLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of a material business combination completed during the period, including background, timing, and recognized assets and liabilities. This table does not include leveraged buyouts.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI https://asc.fasb.org/extlink&amp;oid=79982066&amp;loc=d3e1486-128463<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=79982066&amp;loc=d3e1392-128463<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessAcquisitionAxis=bld_Acquisitions2022Member">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessAcquisitionAxis=bld_Acquisitions2022Member</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>41
<FILENAME>R31.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.1</span><table class="report" border="0" cellspacing="2" id="idm140418088425008">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Accrued Liabilities (Tables)<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Mar. 31, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PayablesAndAccrualsAbstract', window );"><strong>Accrued Liabilities.</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock', window );">Schedule of components of accrued liabilities</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;">The following table sets forth the components of accrued liabilities, in thousands:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:66.28%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.11%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.96%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:66.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:31.84%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">As of</b></p></td></tr><tr><td style="vertical-align:bottom;width:66.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.53%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">March 31, 2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.44%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">December 31, 2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:66.28%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">Accrued liabilities: </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:66.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;">Salaries, wages, and bonus/commissions</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 52,742</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 75,901</p></td></tr><tr><td style="vertical-align:bottom;width:66.28%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;">Income taxes payable</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 40,740</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,134</p></td></tr><tr><td style="vertical-align:bottom;width:66.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;">Insurance liabilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 28,199</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 28,870</p></td></tr><tr><td style="vertical-align:bottom;width:66.28%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;">Customer rebates</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 11,169</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 21,561</p></td></tr><tr><td style="vertical-align:bottom;width:66.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;">Deferred revenue</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 20,738</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 21,940</p></td></tr><tr><td style="vertical-align:bottom;width:66.28%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;">Sales and property taxes</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 15,850</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 15,757</p></td></tr><tr><td style="vertical-align:bottom;width:66.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;">Interest payable on long-term debt</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,193</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 12,146</p></td></tr><tr><td style="vertical-align:bottom;width:66.28%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;">Other</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.11%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 20,716</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.96%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 21,061</p></td></tr><tr><td style="vertical-align:bottom;width:66.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">Total accrued liabilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.11%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 193,347</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.96%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 199,370</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="font-size:3pt;visibility:hidden;">&#8203;</span></p><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PayablesAndAccrualsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PayablesAndAccrualsAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the components of accrued liabilities.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>42
<FILENAME>R32.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.1</span><table class="report" border="0" cellspacing="2" id="idm140418085043456">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Other Commitments and Contingencies (Tables)<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Mar. 31, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CommitmentsAndContingenciesDisclosureAbstract', window );"><strong>Other Commitments and Contingencies</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_bld_BondsOutstandingTableTextBlock', window );">Summary of outstanding bonds</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;">The following table summarizes our outstanding performance, licensing, insurance and other bonds, in thousands:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:67.62%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.47%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:67.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:30.86%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">As of</b></p></td></tr><tr><td style="vertical-align:bottom;width:67.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.36%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">March 31, 2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">December 31, 2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:67.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">Outstanding bonds:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:67.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;">Performance bonds</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 147,468</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 152,434</p></td></tr><tr><td style="vertical-align:bottom;width:67.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;">Licensing, insurance, and other bonds</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.85%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 25,527</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.47%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 25,439</p></td></tr><tr><td style="vertical-align:bottom;width:67.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">Total bonds</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.85%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 172,995</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.47%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 177,873</p></td></tr></table><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_bld_BondsOutstandingTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of information about bonds outstanding.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">bld_BondsOutstandingTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>bld_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommitmentsAndContingenciesDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommitmentsAndContingenciesDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>43
<FILENAME>R33.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.1</span><table class="report" border="0" cellspacing="2" id="idm140418085121312">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Basis of Presentation (Details)<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th">
<div>Mar. 31, 2023 </div>
<div>segment</div>
</th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract', window );"><strong>Summary of Significant Accounting Policies</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NumberOfReportableSegments', window );">Number of reportable segments</a></td>
<td class="nump">2<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NumberOfReportableSegments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of segments reported by the entity. A reportable segment is a component of an entity for which there is an accounting requirement to report separate financial information on that component in the entity's financial statements.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 18<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8672-108599<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NumberOfReportableSegments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:integerItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>44
<FILENAME>R34.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.1</span><table class="report" border="0" cellspacing="2" id="idm140418080303024">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Revenue Recognition - Disaggregation (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Mar. 31, 2023</div></th>
<th class="th"><div>Mar. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueLineItems', window );"><strong>Revenue Recognition</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Net sales</a></td>
<td class="nump">$ 1,265,238<span></span>
</td>
<td class="nump">$ 1,168,918<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_ProductOrServiceAxis=bld_InsulationAndAccessoriesMember', window );">Insulation and accessories</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueLineItems', window );"><strong>Revenue Recognition</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Net sales</a></td>
<td class="nump">1,051,596<span></span>
</td>
<td class="nump">972,291<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_ProductOrServiceAxis=bld_GlassAndWindowsMember', window );">Glass and windows</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueLineItems', window );"><strong>Revenue Recognition</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Net sales</a></td>
<td class="nump">63,442<span></span>
</td>
<td class="nump">51,196<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_ProductOrServiceAxis=bld_RainGuttersMember', window );">Gutters</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueLineItems', window );"><strong>Revenue Recognition</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Net sales</a></td>
<td class="nump">60,955<span></span>
</td>
<td class="nump">62,586<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_ProductOrServiceAxis=bld_AllOtherProductsMember', window );">All other</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueLineItems', window );"><strong>Revenue Recognition</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Net sales</a></td>
<td class="nump">89,245<span></span>
</td>
<td class="nump">82,845<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_MajorCustomersAxis=bld_ResidentialMember', window );">Residential</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueLineItems', window );"><strong>Revenue Recognition</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Net sales</a></td>
<td class="nump">818,639<span></span>
</td>
<td class="nump">756,293<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_MajorCustomersAxis=bld_CommercialAndIndustrialMember', window );">Commercial and Industrial</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueLineItems', window );"><strong>Revenue Recognition</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Net sales</a></td>
<td class="nump">446,599<span></span>
</td>
<td class="nump">412,625<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_ConsolidationItemsAxis=us-gaap_OperatingSegmentsMember', window );">Operating Segment | Installation</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueLineItems', window );"><strong>Revenue Recognition</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Net sales</a></td>
<td class="nump">767,090<span></span>
</td>
<td class="nump">676,693<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_ConsolidationItemsAxis=us-gaap_OperatingSegmentsMember', window );">Operating Segment | Installation | Insulation and accessories</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueLineItems', window );"><strong>Revenue Recognition</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Net sales</a></td>
<td class="nump">600,767<span></span>
</td>
<td class="nump">536,341<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_ConsolidationItemsAxis=us-gaap_OperatingSegmentsMember', window );">Operating Segment | Installation | Glass and windows</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueLineItems', window );"><strong>Revenue Recognition</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Net sales</a></td>
<td class="nump">63,442<span></span>
</td>
<td class="nump">51,196<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_ConsolidationItemsAxis=us-gaap_OperatingSegmentsMember', window );">Operating Segment | Installation | Gutters</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueLineItems', window );"><strong>Revenue Recognition</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Net sales</a></td>
<td class="nump">28,278<span></span>
</td>
<td class="nump">22,957<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_ConsolidationItemsAxis=us-gaap_OperatingSegmentsMember', window );">Operating Segment | Installation | All other</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueLineItems', window );"><strong>Revenue Recognition</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Net sales</a></td>
<td class="nump">74,603<span></span>
</td>
<td class="nump">66,199<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_ConsolidationItemsAxis=us-gaap_OperatingSegmentsMember', window );">Operating Segment | Installation | Residential</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueLineItems', window );"><strong>Revenue Recognition</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Net sales</a></td>
<td class="nump">645,703<span></span>
</td>
<td class="nump">563,303<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_ConsolidationItemsAxis=us-gaap_OperatingSegmentsMember', window );">Operating Segment | Installation | Commercial and Industrial</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueLineItems', window );"><strong>Revenue Recognition</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Net sales</a></td>
<td class="nump">121,387<span></span>
</td>
<td class="nump">113,390<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_ConsolidationItemsAxis=us-gaap_OperatingSegmentsMember', window );">Operating Segment | Specialty Distribution</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueLineItems', window );"><strong>Revenue Recognition</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Net sales</a></td>
<td class="nump">558,375<span></span>
</td>
<td class="nump">543,862<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_ConsolidationItemsAxis=us-gaap_OperatingSegmentsMember', window );">Operating Segment | Specialty Distribution | Insulation and accessories</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueLineItems', window );"><strong>Revenue Recognition</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Net sales</a></td>
<td class="nump">502,802<span></span>
</td>
<td class="nump">479,760<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_ConsolidationItemsAxis=us-gaap_OperatingSegmentsMember', window );">Operating Segment | Specialty Distribution | Gutters</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueLineItems', window );"><strong>Revenue Recognition</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Net sales</a></td>
<td class="nump">39,842<span></span>
</td>
<td class="nump">46,631<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_ConsolidationItemsAxis=us-gaap_OperatingSegmentsMember', window );">Operating Segment | Specialty Distribution | All other</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueLineItems', window );"><strong>Revenue Recognition</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Net sales</a></td>
<td class="nump">15,731<span></span>
</td>
<td class="nump">17,471<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_ConsolidationItemsAxis=us-gaap_OperatingSegmentsMember', window );">Operating Segment | Specialty Distribution | Residential</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueLineItems', window );"><strong>Revenue Recognition</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Net sales</a></td>
<td class="nump">224,326<span></span>
</td>
<td class="nump">236,411<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_ConsolidationItemsAxis=us-gaap_OperatingSegmentsMember', window );">Operating Segment | Specialty Distribution | Commercial and Industrial</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueLineItems', window );"><strong>Revenue Recognition</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Net sales</a></td>
<td class="nump">334,049<span></span>
</td>
<td class="nump">307,451<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_ConsolidationItemsAxis=bld_EliminationsAndReconcilingItemsMember', window );">Eliminations</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueLineItems', window );"><strong>Revenue Recognition</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Net sales</a></td>
<td class="num">(60,227)<span></span>
</td>
<td class="num">(51,637)<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_ConsolidationItemsAxis=bld_EliminationsAndReconcilingItemsMember', window );">Eliminations | Insulation and accessories</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueLineItems', window );"><strong>Revenue Recognition</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Net sales</a></td>
<td class="num">(51,973)<span></span>
</td>
<td class="num">(43,810)<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_ConsolidationItemsAxis=bld_EliminationsAndReconcilingItemsMember', window );">Eliminations | Gutters</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueLineItems', window );"><strong>Revenue Recognition</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Net sales</a></td>
<td class="num">(7,165)<span></span>
</td>
<td class="num">(7,002)<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_ConsolidationItemsAxis=bld_EliminationsAndReconcilingItemsMember', window );">Eliminations | All other</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueLineItems', window );"><strong>Revenue Recognition</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Net sales</a></td>
<td class="num">(1,089)<span></span>
</td>
<td class="num">(825)<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_ConsolidationItemsAxis=bld_EliminationsAndReconcilingItemsMember', window );">Eliminations | Residential</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueLineItems', window );"><strong>Revenue Recognition</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Net sales</a></td>
<td class="num">(51,390)<span></span>
</td>
<td class="num">(43,421)<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_ConsolidationItemsAxis=bld_EliminationsAndReconcilingItemsMember', window );">Eliminations | Commercial and Industrial</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueLineItems', window );"><strong>Revenue Recognition</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Net sales</a></td>
<td class="num">$ (8,837)<span></span>
</td>
<td class="num">$ (8,216)<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DisaggregationOfRevenueLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DisaggregationOfRevenueLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, excluding tax collected from customer, of revenue from satisfaction of performance obligation by transferring promised good or service to customer. Tax collected from customer is tax assessed by governmental authority that is both imposed on and concurrent with specific revenue-producing transaction, including, but not limited to, sales, use, value added and excise.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8906-108599<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 40<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e9031-108599<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 41<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e9038-108599<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126920106&amp;loc=SL49130543-203045<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 42<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e9054-108599<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 5<br> -URI https://asc.fasb.org/extlink&amp;oid=126920106&amp;loc=SL49130545-203045<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 924<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 11.L)<br> -URI https://asc.fasb.org/extlink&amp;oid=6472922&amp;loc=d3e499488-122856<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_ProductOrServiceAxis=bld_InsulationAndAccessoriesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_ProductOrServiceAxis=bld_InsulationAndAccessoriesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_ProductOrServiceAxis=bld_GlassAndWindowsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_ProductOrServiceAxis=bld_GlassAndWindowsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_ProductOrServiceAxis=bld_RainGuttersMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_ProductOrServiceAxis=bld_RainGuttersMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_ProductOrServiceAxis=bld_AllOtherProductsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_ProductOrServiceAxis=bld_AllOtherProductsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_MajorCustomersAxis=bld_ResidentialMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_MajorCustomersAxis=bld_ResidentialMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_MajorCustomersAxis=bld_CommercialAndIndustrialMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_MajorCustomersAxis=bld_CommercialAndIndustrialMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_ConsolidationItemsAxis=us-gaap_OperatingSegmentsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_ConsolidationItemsAxis=us-gaap_OperatingSegmentsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StatementBusinessSegmentsAxis=bld_InstallationSegmentMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StatementBusinessSegmentsAxis=bld_InstallationSegmentMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StatementBusinessSegmentsAxis=bld_DistributionSegmentMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StatementBusinessSegmentsAxis=bld_DistributionSegmentMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_ConsolidationItemsAxis=bld_EliminationsAndReconcilingItemsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_ConsolidationItemsAxis=bld_EliminationsAndReconcilingItemsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>45
<FILENAME>R35.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.1</span><table class="report" border="0" cellspacing="2" id="idm140418083685760">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Revenue Recognition - Other (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
<th class="th" colspan="1"></th>
</tr>
<tr>
<th class="th"><div>Mar. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ContractWithCustomerLiabilityAbstract', window );"><strong>Contract Liabilities</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ContractWithCustomerLiabilityCurrent', window );">Deferred revenue</a></td>
<td class="nump">$ 20,738<span></span>
</td>
<td class="nump">$ 21,940<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenuePerformanceObligationSatisfiedOverTimeAbstract', window );"><strong>Uncompleted Performance Obligations</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueRemainingPerformanceObligation', window );">Amount remaining on uncompleted performance obligations</a></td>
<td class="nump">$ 395,500<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionExplanation', window );">Expected timing of satisfaction of performance obligations</a></td>
<td class="text">over the next 18 months<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BalanceSheetLocationAxis=bld_ReceivablesNetMember', window );">Receivables, net</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ContractWithCustomerAssetNetCurrentAbstract', window );"><strong>Contract Assets</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ContractWithCustomerAssetNetCurrent', window );">Receivables, unbilled</a></td>
<td class="nump">$ 78,034<span></span>
</td>
<td class="nump">75,481<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenuePerformanceObligationSatisfiedOverTimeAbstract', window );"><strong>Uncompleted Performance Obligations</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConstructionContractorReceivableRetainage', window );">Retained receivables</a></td>
<td class="nump">66,700<span></span>
</td>
<td class="nump">63,000<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BalanceSheetLocationAxis=us-gaap_AccruedLiabilitiesMember', window );">Accrued liabilities</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ContractWithCustomerLiabilityAbstract', window );"><strong>Contract Liabilities</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ContractWithCustomerLiabilityCurrent', window );">Deferred revenue</a></td>
<td class="nump">$ 20,738<span></span>
</td>
<td class="nump">$ 21,940<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ConstructionContractorReceivableRetainage">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of right to consideration in exchange for good or service transferred to customer withheld under retainage provision in long-term contract or program when right to consideration is unconditional.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 910<br> -SubTopic 10<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126937589&amp;loc=SL119991598-234733<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(3)(c)(1))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ConstructionContractorReceivableRetainage</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ContractWithCustomerAssetNetCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, after allowance for credit loss, of right to consideration in exchange for good or service transferred to customer when right is conditioned on something other than passage of time, classified as current.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=126919976&amp;loc=SL49130531-203044<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 45<br> -Paragraph 3<br> -URI https://asc.fasb.org/extlink&amp;oid=126919976&amp;loc=SL49130533-203044<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126920106&amp;loc=SL49130549-203045<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ContractWithCustomerAssetNetCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ContractWithCustomerAssetNetCurrentAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ContractWithCustomerAssetNetCurrentAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ContractWithCustomerLiabilityAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ContractWithCustomerLiabilityAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ContractWithCustomerLiabilityCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of obligation to transfer good or service to customer for which consideration has been received or is receivable, classified as current.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=126919976&amp;loc=SL49130531-203044<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 45<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=126919976&amp;loc=SL49130532-203044<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126920106&amp;loc=SL49130549-203045<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ContractWithCustomerLiabilityCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenuePerformanceObligationSatisfiedOverTimeAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenuePerformanceObligationSatisfiedOverTimeAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenueRemainingPerformanceObligation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of transaction price allocated to performance obligation that has not been recognized as revenue.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126920106&amp;loc=SL49130556-203045<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueRemainingPerformanceObligation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionExplanation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Description of when remaining performance obligation is expected to be recognized as revenue.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (b)(2)<br> -URI https://asc.fasb.org/extlink&amp;oid=126920106&amp;loc=SL49130556-203045<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionExplanation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BalanceSheetLocationAxis=bld_ReceivablesNetMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BalanceSheetLocationAxis=bld_ReceivablesNetMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BalanceSheetLocationAxis=us-gaap_AccruedLiabilitiesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BalanceSheetLocationAxis=us-gaap_AccruedLiabilitiesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>46
<FILENAME>R36.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.1</span><table class="report" border="0" cellspacing="2" id="idm140418083787040">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Goodwill and Other Intangibles - Goodwill (Details)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
<th class="th" colspan="1"></th>
</tr>
<tr>
<th class="th">
<div>Mar. 31, 2023 </div>
<div>USD ($) </div>
<div>item</div>
</th>
<th class="th">
<div>Dec. 31, 2022 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Jan. 26, 2023 </div>
<div>USD ($)</div>
</th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_GoodwillLineItems', window );"><strong>Changes in the carrying amount of goodwill</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NumberOfReportingUnits', window );">Number of reporting units | item</a></td>
<td class="nump">2<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_GoodwillImpairmentLoss', window );">Impairment of goodwill</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_GoodwillGross', window );">Gross Goodwill, at beginning of period</a></td>
<td class="nump">$ 2,729,015<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_GoodwillPeriodIncreaseDecrease', window );">Additions</a></td>
<td class="nump">25,384<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_GoodwillForeignCurrencyTranslationGainLoss', window );">Fx Translation Adjustment</a></td>
<td class="nump">16<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_GoodwillGross', window );">Gross Goodwill, at end of period</a></td>
<td class="nump">2,754,415<span></span>
</td>
<td class="nump">2,729,015<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_GoodwillImpairedAccumulatedImpairmentLoss', window );">Accumulated Impairment Losses</a></td>
<td class="num">(762,021)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Goodwill', window );">Net Goodwill</a></td>
<td class="nump">1,992,394<span></span>
</td>
<td class="nump">1,966,994<span></span>
</td>
<td class="nump">$ 25,400<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StatementBusinessSegmentsAxis=bld_InstallationSegmentMember', window );">Installation</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_GoodwillLineItems', window );"><strong>Changes in the carrying amount of goodwill</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_GoodwillGross', window );">Gross Goodwill, at beginning of period</a></td>
<td class="nump">1,826,979<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_GoodwillPeriodIncreaseDecrease', window );">Additions</a></td>
<td class="nump">25,384<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_GoodwillGross', window );">Gross Goodwill, at end of period</a></td>
<td class="nump">1,852,363<span></span>
</td>
<td class="nump">1,826,979<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_GoodwillImpairedAccumulatedImpairmentLoss', window );">Accumulated Impairment Losses</a></td>
<td class="num">(762,021)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Goodwill', window );">Net Goodwill</a></td>
<td class="nump">1,090,342<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StatementBusinessSegmentsAxis=bld_DistributionSegmentMember', window );">Specialty Distribution</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_GoodwillLineItems', window );"><strong>Changes in the carrying amount of goodwill</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_GoodwillGross', window );">Gross Goodwill, at beginning of period</a></td>
<td class="nump">902,036<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_GoodwillForeignCurrencyTranslationGainLoss', window );">Fx Translation Adjustment</a></td>
<td class="nump">16<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_GoodwillGross', window );">Gross Goodwill, at end of period</a></td>
<td class="nump">902,052<span></span>
</td>
<td class="nump">$ 902,036<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Goodwill', window );">Net Goodwill</a></td>
<td class="nump">$ 902,052<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_Goodwill">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount after accumulated impairment loss of an asset representing future economic benefits arising from other assets acquired in a business combination that are not individually identified and separately recognized.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=121556970&amp;loc=d3e13816-109267<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(10)(1))<br> -URI https://asc.fasb.org/extlink&amp;oid=126897435&amp;loc=d3e534808-122878<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (h)<br> -URI https://asc.fasb.org/extlink&amp;oid=121556970&amp;loc=d3e13816-109267<br><br>Reference 4: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 55<br> -Paragraph 24<br> -URI https://asc.fasb.org/extlink&amp;oid=122137925&amp;loc=d3e14258-109268<br><br>Reference 5: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 45<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=99380562&amp;loc=d3e13770-109266<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(15))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_Goodwill</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GoodwillForeignCurrencyTranslationGainLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of foreign currency translation gain (loss) which increases (decreases) an asset representing future economic benefits from other assets acquired in a business combination that are not individually identified and separately recognized.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=121556970&amp;loc=d3e13816-109267<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GoodwillForeignCurrencyTranslationGainLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GoodwillGross">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount before accumulated impairment loss of an asset representing future economic benefits arising from other assets acquired in a business combination that are not individually identified and separately recognized.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=121556970&amp;loc=d3e13816-109267<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 55<br> -Paragraph 24<br> -URI https://asc.fasb.org/extlink&amp;oid=122137925&amp;loc=d3e14258-109268<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (h)<br> -URI https://asc.fasb.org/extlink&amp;oid=121556970&amp;loc=d3e13816-109267<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GoodwillGross</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GoodwillImpairedAccumulatedImpairmentLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of accumulated impairment loss for an asset representing future economic benefits arising from other assets acquired in a business combination that are not individually identified and separately recognized.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (h)<br> -URI https://asc.fasb.org/extlink&amp;oid=121556970&amp;loc=d3e13816-109267<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 55<br> -Paragraph 24<br> -URI https://asc.fasb.org/extlink&amp;oid=122137925&amp;loc=d3e14258-109268<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=121556970&amp;loc=d3e13816-109267<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GoodwillImpairedAccumulatedImpairmentLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GoodwillImpairmentLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of loss from the write-down of an asset representing the future economic benefits arising from other assets acquired in a business combination that are not individually identified and separately recognized.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=121556970&amp;loc=d3e13854-109267<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 45<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=99380562&amp;loc=d3e13777-109266<br><br>Reference 4: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 55<br> -Paragraph 24<br> -URI https://asc.fasb.org/extlink&amp;oid=122137925&amp;loc=d3e14258-109268<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (e)<br> -URI https://asc.fasb.org/extlink&amp;oid=121556970&amp;loc=d3e13816-109267<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GoodwillImpairmentLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GoodwillLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GoodwillLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GoodwillPeriodIncreaseDecrease">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of increase (decrease) of an asset representing future economic benefits arising from other assets acquired in a business combination that are not individually identified and separately recognized.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=121556970&amp;loc=d3e13816-109267<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GoodwillPeriodIncreaseDecrease</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NumberOfReportingUnits">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of reporting units tested for impairment of goodwill. A reporting unit is an operating segment or one level below an operating segment.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NumberOfReportingUnits</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:integerItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StatementBusinessSegmentsAxis=bld_InstallationSegmentMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StatementBusinessSegmentsAxis=bld_InstallationSegmentMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StatementBusinessSegmentsAxis=bld_DistributionSegmentMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StatementBusinessSegmentsAxis=bld_DistributionSegmentMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>47
<FILENAME>R37.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.1</span><table class="report" border="0" cellspacing="2" id="idm140418079599488">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Goodwill and Other Intangibles - Other intangible assets (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
<th class="th" colspan="1"></th>
</tr>
<tr>
<th class="th"><div>Mar. 31, 2023</div></th>
<th class="th"><div>Mar. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IntangibleAssetsNetExcludingGoodwillAbstract', window );"><strong>Other intangible assets</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsGross', window );">Gross Definite-lived intangible assets</a></td>
<td class="nump">$ 791,939<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 782,316<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization', window );">Accumulated Amortization</a></td>
<td class="num">(184,256)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(167,349)<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsNet', window );">Net definite-lived intangible assets</a></td>
<td class="nump">607,683<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 614,967<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AmortizationOfIntangibleAssets', window );">Amortization expense</a></td>
<td class="nump">$ 16,896<span></span>
</td>
<td class="nump">$ 17,825<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AmortizationOfIntangibleAssets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The aggregate expense charged against earnings to allocate the cost of intangible assets (nonphysical assets not used in production) in a systematic and rational manner to the periods expected to benefit from such assets. As a noncash expense, this element is added back to net income when calculating cash provided by or used in operations using the indirect method.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(2)<br> -URI https://asc.fasb.org/extlink&amp;oid=66006027&amp;loc=d3e16323-109275<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 45<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=6388964&amp;loc=d3e16225-109274<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AmortizationOfIntangibleAssets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Accumulated amount of amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(1)<br> -URI https://asc.fasb.org/extlink&amp;oid=66006027&amp;loc=d3e16323-109275<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(16))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsGross">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount before amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 928<br> -SubTopic 340<br> -Section 50<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=6473545&amp;loc=d3e61844-108004<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(1)<br> -URI https://asc.fasb.org/extlink&amp;oid=66006027&amp;loc=d3e16323-109275<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsGross</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount after amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 926<br> -SubTopic 20<br> -Section 50<br> -Paragraph 5<br> -URI https://asc.fasb.org/extlink&amp;oid=120154696&amp;loc=d3e54445-107959<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(1)<br> -URI https://asc.fasb.org/extlink&amp;oid=66006027&amp;loc=d3e16323-109275<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IntangibleAssetsNetExcludingGoodwillAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IntangibleAssetsNetExcludingGoodwillAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>48
<FILENAME>R38.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.1</span><table class="report" border="0" cellspacing="2" id="idm140418080709344">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Long-Term Debt - Reconciliation (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Mar. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentLineItems', window );"><strong>Long-Term Debt</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentCarryingAmount', window );">Long-term debt</a></td>
<td class="nump">$ 1,464,935<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredFinanceCostsNet', window );">Unamortized debt issuance costs</a></td>
<td class="num">(16,633)<span></span>
</td>
<td class="num">$ (17,352)<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LongTermDebt', window );">Total debt, net of unamortized debt issuance costs</a></td>
<td class="nump">1,448,302<span></span>
</td>
<td class="nump">1,457,325<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LongTermDebtCurrent', window );">Less: current portion of long-term debt</a></td>
<td class="nump">42,371<span></span>
</td>
<td class="nump">40,068<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LongTermDebtNoncurrent', window );">Total long-term debt</a></td>
<td class="nump">$ 1,405,931<span></span>
</td>
<td class="nump">1,417,257<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LongtermDebtTypeAxis=bld_SeniorNotesDue2029Member', window );">3.625% Senior Notes</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentLineItems', window );"><strong>Long-Term Debt</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentInterestRateStatedPercentage', window );">Interest rate (as a percent)</a></td>
<td class="nump">3.625%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentCarryingAmount', window );">Long-term debt</a></td>
<td class="nump">$ 400,000<span></span>
</td>
<td class="nump">400,000<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LongtermDebtTypeAxis=bld_SeniorNotesDue2032Member', window );">4.125% Senior Notes</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentLineItems', window );"><strong>Long-Term Debt</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentInterestRateStatedPercentage', window );">Interest rate (as a percent)</a></td>
<td class="nump">4.125%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentCarryingAmount', window );">Long-term debt</a></td>
<td class="nump">$ 500,000<span></span>
</td>
<td class="nump">500,000<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LongtermDebtTypeAxis=us-gaap_SecuredDebtMember', window );">Term Loan Facility</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentLineItems', window );"><strong>Long-Term Debt</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentCarryingAmount', window );">Long-term debt</a></td>
<td class="nump">558,750<span></span>
</td>
<td class="nump">566,250<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LongtermDebtTypeAxis=bld_EquipmentNotesMember', window );">Equipment Notes</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentLineItems', window );"><strong>Long-Term Debt</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentCarryingAmount', window );">Long-term debt</a></td>
<td class="nump">$ 6,185<span></span>
</td>
<td class="nump">$ 8,427<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtInstrumentCarryingAmount">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, before unamortized (discount) premium and debt issuance costs, of long-term debt. Includes, but is not limited to, notes payable, bonds payable, commercial loans, mortgage loans, convertible debt, subordinated debt and other types of debt.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (b)(1)<br> -URI https://asc.fasb.org/extlink&amp;oid=123466204&amp;loc=SL6031897-161870<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(16))<br> -URI https://asc.fasb.org/extlink&amp;oid=126734703&amp;loc=d3e572229-122910<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(22))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(16))<br> -URI https://asc.fasb.org/extlink&amp;oid=126897435&amp;loc=d3e534808-122878<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtInstrumentCarryingAmount</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtInstrumentInterestRateStatedPercentage">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Contractual interest rate for funds borrowed, under the debt agreement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1B<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=123466505&amp;loc=SL123495323-112611<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.22(a)(1))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtInstrumentInterestRateStatedPercentage</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtInstrumentLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtInstrumentLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredFinanceCostsNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, after accumulated amortization, of debt issuance costs. Includes, but is not limited to, legal, accounting, underwriting, printing, and registration costs.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1D<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=123466505&amp;loc=SL123495340-112611<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 835<br> -SubTopic 30<br> -Section 45<br> -Paragraph 3<br> -URI https://asc.fasb.org/extlink&amp;oid=124435984&amp;loc=d3e28555-108399<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredFinanceCostsNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LongTermDebt">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, excluding unamortized premium (discount) and debt issuance cost, of long-term debt. Excludes lease obligation.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (b)(3)<br> -URI https://asc.fasb.org/extlink&amp;oid=123466204&amp;loc=SL6031897-161870<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 55<br> -Paragraph 69C<br> -URI https://asc.fasb.org/extlink&amp;oid=123466577&amp;loc=SL123495737-112612<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(16))<br> -URI https://asc.fasb.org/extlink&amp;oid=126734703&amp;loc=d3e572229-122910<br><br>Reference 4: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 55<br> -Paragraph 69B<br> -URI https://asc.fasb.org/extlink&amp;oid=123466577&amp;loc=SL123495735-112612<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(16))<br> -URI https://asc.fasb.org/extlink&amp;oid=126897435&amp;loc=d3e534808-122878<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1D<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=123466505&amp;loc=SL123495340-112611<br><br>Reference 7: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(22))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LongTermDebt</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LongTermDebtCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, after unamortized (discount) premium and debt issuance costs, of long-term debt, classified as current. Includes, but not limited to, notes payable, bonds payable, debentures, mortgage loans and commercial paper. Excludes capital lease obligations.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.19,20)<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LongTermDebtCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LongTermDebtNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, excluding unamortized premium (discount) and debt issuance cost, of long-term debt classified as noncurrent. Excludes lease obligation.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(22))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LongTermDebtNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LongtermDebtTypeAxis=bld_SeniorNotesDue2029Member">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LongtermDebtTypeAxis=bld_SeniorNotesDue2029Member</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LongtermDebtTypeAxis=bld_SeniorNotesDue2032Member">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LongtermDebtTypeAxis=bld_SeniorNotesDue2032Member</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LongtermDebtTypeAxis=us-gaap_SecuredDebtMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LongtermDebtTypeAxis=us-gaap_SecuredDebtMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LongtermDebtTypeAxis=bld_EquipmentNotesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LongtermDebtTypeAxis=bld_EquipmentNotesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>49
<FILENAME>R39.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.1</span><table class="report" border="0" cellspacing="2" id="idm140418080915456">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Long-Term Debt - Schedule of debt maturity (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Mar. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LongTermDebtByMaturityAbstract', window );"><strong>Schedule of Debt Maturity by Years:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalRemainderOfFiscalYear', window );">2023</a></td>
<td class="nump">$ 30,326<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths', window );">2024</a></td>
<td class="nump">47,109<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearTwo', window );">2025</a></td>
<td class="nump">48,750<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearThree', window );">2026</a></td>
<td class="nump">438,750<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_bld_LongTermDebtMaturitiesRepaymentsOfPrincipalAfterYearFour', window );">Thereafter</a></td>
<td class="nump">900,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentCarryingAmount', window );">Total</a></td>
<td class="nump">1,464,935<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LongtermDebtTypeAxis=bld_SeniorNotesDue2029Member', window );">3.625% Senior Notes</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LongTermDebtByMaturityAbstract', window );"><strong>Schedule of Debt Maturity by Years:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_bld_LongTermDebtMaturitiesRepaymentsOfPrincipalAfterYearFour', window );">Thereafter</a></td>
<td class="nump">400,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentCarryingAmount', window );">Total</a></td>
<td class="nump">400,000<span></span>
</td>
<td class="nump">$ 400,000<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LongtermDebtTypeAxis=bld_SeniorNotesDue2032Member', window );">4.125% Senior Notes</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LongTermDebtByMaturityAbstract', window );"><strong>Schedule of Debt Maturity by Years:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_bld_LongTermDebtMaturitiesRepaymentsOfPrincipalAfterYearFour', window );">Thereafter</a></td>
<td class="nump">500,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentCarryingAmount', window );">Total</a></td>
<td class="nump">500,000<span></span>
</td>
<td class="nump">500,000<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LongtermDebtTypeAxis=us-gaap_SecuredDebtMember', window );">Term Loan Facility</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LongTermDebtByMaturityAbstract', window );"><strong>Schedule of Debt Maturity by Years:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalRemainderOfFiscalYear', window );">2023</a></td>
<td class="nump">26,250<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths', window );">2024</a></td>
<td class="nump">45,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearTwo', window );">2025</a></td>
<td class="nump">48,750<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearThree', window );">2026</a></td>
<td class="nump">438,750<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentCarryingAmount', window );">Total</a></td>
<td class="nump">558,750<span></span>
</td>
<td class="nump">566,250<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LongtermDebtTypeAxis=bld_EquipmentNotesMember', window );">Equipment Notes</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LongTermDebtByMaturityAbstract', window );"><strong>Schedule of Debt Maturity by Years:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalRemainderOfFiscalYear', window );">2023</a></td>
<td class="nump">4,076<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths', window );">2024</a></td>
<td class="nump">2,109<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentCarryingAmount', window );">Total</a></td>
<td class="nump">$ 6,185<span></span>
</td>
<td class="nump">$ 8,427<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_bld_LongTermDebtMaturitiesRepaymentsOfPrincipalAfterYearFour">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of long-term debt payable, sinking fund requirement, and other securities issued that are redeemable by holder at fixed or determinable price and date, maturing after fourth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">bld_LongTermDebtMaturitiesRepaymentsOfPrincipalAfterYearFour</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>bld_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtInstrumentCarryingAmount">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, before unamortized (discount) premium and debt issuance costs, of long-term debt. Includes, but is not limited to, notes payable, bonds payable, commercial loans, mortgage loans, convertible debt, subordinated debt and other types of debt.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (b)(1)<br> -URI https://asc.fasb.org/extlink&amp;oid=123466204&amp;loc=SL6031897-161870<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(16))<br> -URI https://asc.fasb.org/extlink&amp;oid=126734703&amp;loc=d3e572229-122910<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(22))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(16))<br> -URI https://asc.fasb.org/extlink&amp;oid=126897435&amp;loc=d3e534808-122878<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtInstrumentCarryingAmount</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LongTermDebtByMaturityAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LongTermDebtByMaturityAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of long-term debt payable, sinking fund requirement, and other securities issued that are redeemable by holder at fixed or determinable price and date, maturing in next fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1E<br> -Subparagraph (d)<br> -URI https://asc.fasb.org/extlink&amp;oid=123466505&amp;loc=SL123495348-112611<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.12-04(a))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e24072-122690<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=123465755&amp;loc=d3e1835-112601<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearThree">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of long-term debt payable, sinking fund requirement, and other securities issued that are redeemable by holder at fixed or determinable price and date, maturing in third fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1E<br> -Subparagraph (d)<br> -URI https://asc.fasb.org/extlink&amp;oid=123466505&amp;loc=SL123495348-112611<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.12-04(a))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e24072-122690<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=123465755&amp;loc=d3e1835-112601<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearThree</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearTwo">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of long-term debt payable, sinking fund requirement, and other securities issued that are redeemable by holder at fixed or determinable price and date, maturing in second fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1E<br> -Subparagraph (d)<br> -URI https://asc.fasb.org/extlink&amp;oid=123466505&amp;loc=SL123495348-112611<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.12-04(a))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e24072-122690<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=123465755&amp;loc=d3e1835-112601<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearTwo</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalRemainderOfFiscalYear">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of long-term debt payable, sinking fund requirement, and other securities issued that are redeemable by holder at fixed or determinable price and date, maturing in remainder of current fiscal year.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.12-04(a))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e24072-122690<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalRemainderOfFiscalYear</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LongtermDebtTypeAxis=bld_SeniorNotesDue2029Member">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LongtermDebtTypeAxis=bld_SeniorNotesDue2029Member</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LongtermDebtTypeAxis=bld_SeniorNotesDue2032Member">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LongtermDebtTypeAxis=bld_SeniorNotesDue2032Member</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LongtermDebtTypeAxis=us-gaap_SecuredDebtMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LongtermDebtTypeAxis=us-gaap_SecuredDebtMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LongtermDebtTypeAxis=bld_EquipmentNotesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LongtermDebtTypeAxis=bld_EquipmentNotesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>50
<FILENAME>R40.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.1</span><table class="report" border="0" cellspacing="2" id="idm140418080805296">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Long-Term Debt - Key Terms of Credit Agreement (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
<th class="th" colspan="1"></th>
</tr>
<tr>
<th class="th"><div>Mar. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShortTermDebtTypeAxis=us-gaap_RevolvingCreditFacilityMember', window );">Revolving Facility</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentLineItems', window );"><strong>Long-Term Debt</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity', window );">Availability</a></td>
<td class="nump">$ 500,000<span></span>
</td>
<td class="nump">$ 500,000<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShortTermDebtTypeAxis=us-gaap_RevolvingCreditFacilityMember', window );">Revolving Facility | Minimum</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentLineItems', window );"><strong>Long-Term Debt</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage', window );">Commitment fee (as a percent)</a></td>
<td class="nump">0.15%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShortTermDebtTypeAxis=us-gaap_RevolvingCreditFacilityMember', window );">Revolving Facility | Maximum</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentLineItems', window );"><strong>Long-Term Debt</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage', window );">Commitment fee (as a percent)</a></td>
<td class="nump">0.275%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentAxis=bld_AmendedCreditAgreementDecember2022Member', window );">Credit Agreement</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentLineItems', window );"><strong>Long-Term Debt</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_bld_LineOfCreditFacilityAdditionalBorrowingCapacityDelayedDraw', window );">Additional delayed draw term loan</a></td>
<td class="nump">$ 300,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_bld_LineOfCreditFacilityAdditionalBorrowingCapacityAvailableSubjectToCertainConditions', window );">Additional term loan and/or revolver capacity available under incremental facility</a></td>
<td class="nump">$ 300,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentMaturityDate', window );">Scheduled maturity date</a></td>
<td class="text">Oct.  07,  2026<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentAxis=bld_AmendedCreditAgreementDecember2022Member', window );">Credit Agreement | Base Rate Borrowings | Minimum</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentLineItems', window );"><strong>Long-Term Debt</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_bld_DebitInstrumentApplicableMarginBasedOnTotalLeverageRatio', window );">Applicable margin based on total leverage ratio</a></td>
<td class="nump">0.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentAxis=bld_AmendedCreditAgreementDecember2022Member', window );">Credit Agreement | Base Rate Borrowings | Maximum</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentLineItems', window );"><strong>Long-Term Debt</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_bld_DebitInstrumentApplicableMarginBasedOnTotalLeverageRatio', window );">Applicable margin based on total leverage ratio</a></td>
<td class="nump">1.50%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentAxis=bld_AmendedCreditAgreementDecember2022Member', window );">Credit Agreement | Base Rate Borrowings | Federal Funds Rate</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentLineItems', window );"><strong>Long-Term Debt</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentBasisSpreadOnVariableRate1', window );">Basis spread</a></td>
<td class="nump">0.50%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentAxis=bld_AmendedCreditAgreementDecember2022Member', window );">Credit Agreement | Base Rate Borrowings | SOFR</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentLineItems', window );"><strong>Long-Term Debt</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentBasisSpreadOnVariableRate1', window );">Basis spread</a></td>
<td class="nump">1.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_bld_DebtInstrumentReferenceRateMaturityPeriod', window );">Maturity of the reference rate</a></td>
<td class="text">1 month<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentAxis=bld_AmendedCreditAgreementDecember2022Member', window );">Credit Agreement | SOFR Rate Borrowings</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentLineItems', window );"><strong>Long-Term Debt</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_bld_DebtInstrumentInterestRatePercentageFloor', window );">Interest rate floor (as a percent)</a></td>
<td class="nump">0.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentAxis=bld_AmendedCreditAgreementDecember2022Member', window );">Credit Agreement | SOFR Rate Borrowings | Minimum</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentLineItems', window );"><strong>Long-Term Debt</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_bld_DebitInstrumentApplicableMarginBasedOnTotalLeverageRatio', window );">Applicable margin based on total leverage ratio</a></td>
<td class="nump">1.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentAxis=bld_AmendedCreditAgreementDecember2022Member', window );">Credit Agreement | SOFR Rate Borrowings | Maximum</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentLineItems', window );"><strong>Long-Term Debt</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_bld_DebitInstrumentApplicableMarginBasedOnTotalLeverageRatio', window );">Applicable margin based on total leverage ratio</a></td>
<td class="nump">2.50%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentAxis=bld_AmendedCreditAgreementDecember2022Member', window );">Credit Agreement | Revolving Facility</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentLineItems', window );"><strong>Long-Term Debt</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity', window );">Availability</a></td>
<td class="nump">$ 500,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_bld_LineOfCreditFacilitySublimitAvailableForLettersOfCredit', window );">Sublimit for issuance of letters of credit under Revolving Facility*</a></td>
<td class="nump">100,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_bld_LineOfCreditFacilitySublimitAvailableForSwinglineLoans', window );">Sublimit for swingline loans under Revolving Facility*</a></td>
<td class="nump">$ 35,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentInterestRateEffectivePercentage', window );">Interest rate</a></td>
<td class="nump">5.91%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentAxis=bld_AmendedCreditAgreementDecember2022Member', window );">Credit Agreement | Term Loan Facility</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentLineItems', window );"><strong>Long-Term Debt</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity', window );">Availability</a></td>
<td class="nump">$ 300,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_bld_DebitInstrumentApplicableMarginBasedOnTotalLeverageRatio">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Represents the applicable margin based on the total leverage ratio per the terms of the credit agreement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">bld_DebitInstrumentApplicableMarginBasedOnTotalLeverageRatio</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>bld_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_bld_DebtInstrumentInterestRatePercentageFloor">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The debt instrument percentage rate floor.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">bld_DebtInstrumentInterestRatePercentageFloor</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>bld_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_bld_DebtInstrumentReferenceRateMaturityPeriod">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The maturity of the reference rate.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">bld_DebtInstrumentReferenceRateMaturityPeriod</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>bld_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_bld_LineOfCreditFacilityAdditionalBorrowingCapacityAvailableSubjectToCertainConditions">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Represents the additional borrowing capacity available, subject to certain conditions.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">bld_LineOfCreditFacilityAdditionalBorrowingCapacityAvailableSubjectToCertainConditions</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>bld_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_bld_LineOfCreditFacilityAdditionalBorrowingCapacityDelayedDraw">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The additional borrowing capacity available through delayed draw feature.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">bld_LineOfCreditFacilityAdditionalBorrowingCapacityDelayedDraw</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>bld_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_bld_LineOfCreditFacilitySublimitAvailableForLettersOfCredit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Represents the sublimit available for the issuance of letters of credit under the credit facility.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">bld_LineOfCreditFacilitySublimitAvailableForLettersOfCredit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>bld_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_bld_LineOfCreditFacilitySublimitAvailableForSwinglineLoans">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Represents the sublimit available for swingline loans under the credit facility.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">bld_LineOfCreditFacilitySublimitAvailableForSwinglineLoans</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>bld_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtInstrumentBasisSpreadOnVariableRate1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Percentage points added to the reference rate to compute the variable rate on the debt instrument.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtInstrumentBasisSpreadOnVariableRate1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtInstrumentInterestRateEffectivePercentage">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Effective interest rate for the funds borrowed under the debt agreement considering interest compounding and original issue discount or premium.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 50<br> -Paragraph 6<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=123466204&amp;loc=SL6036836-161870<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 835<br> -SubTopic 30<br> -Section 45<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=124435984&amp;loc=d3e28551-108399<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 835<br> -SubTopic 30<br> -Section 50<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=124429444&amp;loc=SL124452920-239629<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.22(a)(1))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtInstrumentInterestRateEffectivePercentage</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtInstrumentLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtInstrumentLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtInstrumentMaturityDate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Date when the debt instrument is scheduled to be fully repaid, in YYYY-MM-DD format.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.22(a)(2))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1B<br> -Subparagraph (d)<br> -URI https://asc.fasb.org/extlink&amp;oid=123466505&amp;loc=SL123495323-112611<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 820<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (bbb)(2)<br> -URI https://asc.fasb.org/extlink&amp;oid=126976982&amp;loc=d3e19207-110258<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtInstrumentMaturityDate</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:dateItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Maximum borrowing capacity under the credit facility without consideration of any current restrictions on the amount that could be borrowed or the amounts currently outstanding under the facility.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.19(b),22(b))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The fee, expressed as a percentage of the line of credit facility, for available but unused credit capacity under the credit facility.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShortTermDebtTypeAxis=us-gaap_RevolvingCreditFacilityMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShortTermDebtTypeAxis=us-gaap_RevolvingCreditFacilityMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_RangeAxis=srt_MinimumMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_RangeAxis=srt_MinimumMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_RangeAxis=srt_MaximumMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_RangeAxis=srt_MaximumMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtInstrumentAxis=bld_AmendedCreditAgreementDecember2022Member">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtInstrumentAxis=bld_AmendedCreditAgreementDecember2022Member</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CreditFacilityAxis=bld_BaseRateBorrowingsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CreditFacilityAxis=bld_BaseRateBorrowingsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_VariableRateAxis=bld_FederalFundsRateMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_VariableRateAxis=bld_FederalFundsRateMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_VariableRateAxis=us-gaap_SecuredOvernightFinancingRateSofrOvernightIndexSwapRateMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_VariableRateAxis=us-gaap_SecuredOvernightFinancingRateSofrOvernightIndexSwapRateMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CreditFacilityAxis=bld_SofrRateBorrowingsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CreditFacilityAxis=bld_SofrRateBorrowingsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LongtermDebtTypeAxis=us-gaap_SecuredDebtMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LongtermDebtTypeAxis=us-gaap_SecuredDebtMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>51
<FILENAME>R41.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.1</span><table class="report" border="0" cellspacing="2" id="idm140418087679136">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Long-Term Debt - Revolving Facility (Details) - Revolving Facility - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
<th class="th" colspan="1"></th>
</tr>
<tr>
<th class="th"><div>Mar. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentLineItems', window );"><strong>Long-Term Debt</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity', window );">Revolving Facility</a></td>
<td class="nump">$ 500,000<span></span>
</td>
<td class="nump">$ 500,000<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LettersOfCreditOutstandingAmount', window );">Less: standby letters of credit</a></td>
<td class="num">(67,689)<span></span>
</td>
<td class="num">(67,689)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LineOfCreditFacilityCurrentBorrowingCapacity', window );">Availability under revolving facility</a></td>
<td class="nump">$ 432,311<span></span>
</td>
<td class="nump">$ 432,311<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShortTermDebtTypeAxis=us-gaap_RevolvingCreditFacilityMember', window );">Minimum</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentLineItems', window );"><strong>Long-Term Debt</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage', window );">Commitment fee (as a percent)</a></td>
<td class="nump">0.15%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShortTermDebtTypeAxis=us-gaap_RevolvingCreditFacilityMember', window );">Maximum</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentLineItems', window );"><strong>Long-Term Debt</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage', window );">Commitment fee (as a percent)</a></td>
<td class="nump">0.275%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtInstrumentLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtInstrumentLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LettersOfCreditOutstandingAmount">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The total amount of the contingent obligation under letters of credit outstanding as of the reporting date.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LettersOfCreditOutstandingAmount</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LineOfCreditFacilityCurrentBorrowingCapacity">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of current borrowing capacity under the credit facility considering any current restrictions on the amount that could be borrowed (for example, borrowings may be limited by the amount of current assets), but without considering any amounts currently outstanding under the facility.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.19(b),22(b))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LineOfCreditFacilityCurrentBorrowingCapacity</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Maximum borrowing capacity under the credit facility without consideration of any current restrictions on the amount that could be borrowed or the amounts currently outstanding under the facility.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.19(b),22(b))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The fee, expressed as a percentage of the line of credit facility, for available but unused credit capacity under the credit facility.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShortTermDebtTypeAxis=us-gaap_RevolvingCreditFacilityMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShortTermDebtTypeAxis=us-gaap_RevolvingCreditFacilityMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_RangeAxis=srt_MinimumMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_RangeAxis=srt_MinimumMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_RangeAxis=srt_MaximumMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_RangeAxis=srt_MaximumMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>52
<FILENAME>R42.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.1</span><table class="report" border="0" cellspacing="2" id="idm140418080527344">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Long-Term Debt - Senior Notes and Equipment Notes (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
<th class="th" colspan="1"></th>
</tr>
<tr>
<th class="th"><div>Mar. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentLineItems', window );"><strong>Long-Term Debt</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LongTermDebt', window );">Amount outstanding</a></td>
<td class="nump">$ 1,448,302<span></span>
</td>
<td class="nump">$ 1,457,325<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_StatementScenarioAxis=bld_DebtInstrumentRedemptionOptionTwoMember', window );">Debt Instrument Redemption Option Two | Prior to March 15, 2024</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentLineItems', window );"><strong>Long-Term Debt</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentRedemptionPricePercentage', window );">Redemption price as a percentage of principal</a></td>
<td class="nump">103.625%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_bld_DebtInstrumentConditionalRedemptionThresholdPercentageOfAggregatePrincipalAmountOriginallyIssuedRemainsOutstanding', window );">Debt instrument, conditional redemption, threshold percentage of aggregate principal amount originally issued remains outstanding</a></td>
<td class="nump">60.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LongtermDebtTypeAxis=bld_EquipmentNotesMember', window );">Equipment Notes</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentLineItems', window );"><strong>Long-Term Debt</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentFaceAmount', window );">Principal amount of debt</a></td>
<td class="nump">$ 41,600<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentTerm', window );">Debt term</a></td>
<td class="text">5 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LongtermDebtTypeAxis=bld_EquipmentNotesMember', window );">Equipment Notes | Minimum</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentLineItems', window );"><strong>Long-Term Debt</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentInterestRateStatedPercentage', window );">Interest rate (as a percent)</a></td>
<td class="nump">2.80%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LongtermDebtTypeAxis=bld_EquipmentNotesMember', window );">Equipment Notes | Maximum</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentLineItems', window );"><strong>Long-Term Debt</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentInterestRateStatedPercentage', window );">Interest rate (as a percent)</a></td>
<td class="nump">4.40%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentAxis=bld_SeniorNotesDue2029Member', window );">3.625% Senior Notes</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentLineItems', window );"><strong>Long-Term Debt</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentInterestRateStatedPercentage', window );">Interest rate (as a percent)</a></td>
<td class="nump">3.625%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentFaceAmount', window );">Principal amount of debt</a></td>
<td class="nump">$ 400,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentAxis=bld_SeniorNotesDue2029Member', window );">3.625% Senior Notes | Change in Control Scenario</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentLineItems', window );"><strong>Long-Term Debt</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentRedemptionPricePercentage', window );">Redemption price as a percentage of principal</a></td>
<td class="nump">101.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentAxis=bld_SeniorNotesDue2029Member', window );">3.625% Senior Notes | Debt Instrument Redemption Option One | Prior to March 15, 2024</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentLineItems', window );"><strong>Long-Term Debt</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentRedemptionPricePercentage', window );">Redemption price as a percentage of principal</a></td>
<td class="nump">100.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentAxis=bld_SeniorNotesDue2029Member', window );">3.625% Senior Notes | Debt Instrument Redemption Option Two | Maximum | Prior to March 15, 2024</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentLineItems', window );"><strong>Long-Term Debt</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentRedemptionPricePercentageOfPrincipalAmountRedeemed', window );">Redemption price, percentage of principal amount redeemed</a></td>
<td class="nump">40.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentAxis=bld_SeniorNotesDue2032Member', window );">4.125% Senior Notes</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentLineItems', window );"><strong>Long-Term Debt</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentInterestRateStatedPercentage', window );">Interest rate (as a percent)</a></td>
<td class="nump">4.125%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentFaceAmount', window );">Principal amount of debt</a></td>
<td class="nump">$ 500,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentAxis=bld_SeniorNotesDue2032Member', window );">4.125% Senior Notes | On or after October 15, 2026</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentLineItems', window );"><strong>Long-Term Debt</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentRedemptionPricePercentage', window );">Redemption price as a percentage of principal</a></td>
<td class="nump">102.063%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentAxis=bld_SeniorNotesDue2032Member', window );">4.125% Senior Notes | On or after October 15, 2027</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentLineItems', window );"><strong>Long-Term Debt</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentRedemptionPricePercentage', window );">Redemption price as a percentage of principal</a></td>
<td class="nump">101.375%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentAxis=bld_SeniorNotesDue2032Member', window );">4.125% Senior Notes | On or after October 15, 2028</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentLineItems', window );"><strong>Long-Term Debt</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentRedemptionPricePercentage', window );">Redemption price as a percentage of principal</a></td>
<td class="nump">100.688%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentAxis=bld_SeniorNotesDue2032Member', window );">4.125% Senior Notes | On October 15, 2029 and thereafter</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentLineItems', window );"><strong>Long-Term Debt</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentRedemptionPricePercentage', window );">Redemption price as a percentage of principal</a></td>
<td class="nump">100.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentAxis=bld_SeniorNotesDue2032Member', window );">4.125% Senior Notes | Prior to October 15, 2026</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentLineItems', window );"><strong>Long-Term Debt</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_bld_DebtInstrumentRedemptionPriceBasisSpreadOnTreasuryRate', window );">Basis spread on treasury rate</a></td>
<td class="nump">0.50%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentAxis=bld_SeniorNotesDue2032Member', window );">4.125% Senior Notes | Prior to October 15, 2024</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentLineItems', window );"><strong>Long-Term Debt</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentRedemptionPricePercentage', window );">Redemption price as a percentage of principal</a></td>
<td class="nump">104.125%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentRedemptionPricePercentageOfPrincipalAmountRedeemed', window );">Redemption price, percentage of principal amount redeemed</a></td>
<td class="nump">40.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_bld_DebtInstrumentConditionalRedemptionThresholdPercentageOfAggregatePrincipalAmountOriginallyIssuedRemainsOutstanding', window );">Debt instrument, conditional redemption, threshold percentage of aggregate principal amount originally issued remains outstanding</a></td>
<td class="nump">60.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentAxis=bld_SeniorNotesDue2032Member', window );">4.125% Senior Notes | Change in Control Scenario</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentLineItems', window );"><strong>Long-Term Debt</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentRedemptionPricePercentage', window );">Redemption price as a percentage of principal</a></td>
<td class="nump">101.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_bld_DebtInstrumentConditionalRedemptionThresholdPercentageOfAggregatePrincipalAmountOriginallyIssuedRemainsOutstanding">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Threshold percentage of aggregate principal amount of the debt instrument originally issued should remain outstanding after redemption under the debt instrument arrangement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">bld_DebtInstrumentConditionalRedemptionThresholdPercentageOfAggregatePrincipalAmountOriginallyIssuedRemainsOutstanding</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>bld_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_bld_DebtInstrumentRedemptionPriceBasisSpreadOnTreasuryRate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Percentage points added to the reference rate to compute the redemption price of the debt instrument.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">bld_DebtInstrumentRedemptionPriceBasisSpreadOnTreasuryRate</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>bld_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtInstrumentFaceAmount">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Face (par) amount of debt instrument at time of issuance.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1B<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=123466505&amp;loc=SL123495323-112611<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 835<br> -SubTopic 30<br> -Section 45<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=124435984&amp;loc=d3e28551-108399<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 835<br> -SubTopic 30<br> -Section 55<br> -Paragraph 8<br> -URI https://asc.fasb.org/extlink&amp;oid=114775985&amp;loc=d3e28878-108400<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 835<br> -SubTopic 30<br> -Section 50<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=124429444&amp;loc=SL124452920-239629<br><br>Reference 5: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 55<br> -Paragraph 69C<br> -URI https://asc.fasb.org/extlink&amp;oid=123466577&amp;loc=SL123495737-112612<br><br>Reference 6: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 55<br> -Paragraph 69B<br> -URI https://asc.fasb.org/extlink&amp;oid=123466577&amp;loc=SL123495735-112612<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtInstrumentFaceAmount</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtInstrumentInterestRateStatedPercentage">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Contractual interest rate for funds borrowed, under the debt agreement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1B<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=123466505&amp;loc=SL123495323-112611<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.22(a)(1))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtInstrumentInterestRateStatedPercentage</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtInstrumentLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtInstrumentLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtInstrumentRedemptionPricePercentage">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Percentage price of original principal amount of debt at which debt can be redeemed by the issuer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 470<br> -Section 50<br> -Paragraph 3<br> -Subparagraph e<br> -URI https://asc.fasb.org/extlink&amp;oid=123599511&amp;loc=d3e64711-112823<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtInstrumentRedemptionPricePercentage</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtInstrumentRedemptionPricePercentageOfPrincipalAmountRedeemed">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Percentage of principal amount of debt redeemed.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtInstrumentRedemptionPricePercentageOfPrincipalAmountRedeemed</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtInstrumentTerm">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Period of time between issuance and maturity of debt instrument, in PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtInstrumentTerm</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LongTermDebt">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, excluding unamortized premium (discount) and debt issuance cost, of long-term debt. Excludes lease obligation.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (b)(3)<br> -URI https://asc.fasb.org/extlink&amp;oid=123466204&amp;loc=SL6031897-161870<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 55<br> -Paragraph 69C<br> -URI https://asc.fasb.org/extlink&amp;oid=123466577&amp;loc=SL123495737-112612<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(16))<br> -URI https://asc.fasb.org/extlink&amp;oid=126734703&amp;loc=d3e572229-122910<br><br>Reference 4: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 55<br> -Paragraph 69B<br> -URI https://asc.fasb.org/extlink&amp;oid=123466577&amp;loc=SL123495735-112612<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(16))<br> -URI https://asc.fasb.org/extlink&amp;oid=126897435&amp;loc=d3e534808-122878<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1D<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=123466505&amp;loc=SL123495340-112611<br><br>Reference 7: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(22))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LongTermDebt</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_StatementScenarioAxis=bld_DebtInstrumentRedemptionOptionTwoMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_StatementScenarioAxis=bld_DebtInstrumentRedemptionOptionTwoMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtInstrumentRedemptionPeriodAxis=us-gaap_DebtInstrumentRedemptionPeriodOneMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtInstrumentRedemptionPeriodAxis=us-gaap_DebtInstrumentRedemptionPeriodOneMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LongtermDebtTypeAxis=bld_EquipmentNotesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LongtermDebtTypeAxis=bld_EquipmentNotesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_RangeAxis=srt_MinimumMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_RangeAxis=srt_MinimumMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_RangeAxis=srt_MaximumMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_RangeAxis=srt_MaximumMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtInstrumentAxis=bld_SeniorNotesDue2029Member">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtInstrumentAxis=bld_SeniorNotesDue2029Member</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_StatementScenarioAxis=bld_ChangeInControlScenarioMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_StatementScenarioAxis=bld_ChangeInControlScenarioMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_StatementScenarioAxis=bld_DebtInstrumentRedemptionOptionOneMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_StatementScenarioAxis=bld_DebtInstrumentRedemptionOptionOneMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtInstrumentAxis=bld_SeniorNotesDue2032Member">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtInstrumentAxis=bld_SeniorNotesDue2032Member</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtInstrumentRedemptionPeriodAxis=us-gaap_DebtInstrumentRedemptionPeriodTwoMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtInstrumentRedemptionPeriodAxis=us-gaap_DebtInstrumentRedemptionPeriodTwoMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtInstrumentRedemptionPeriodAxis=us-gaap_DebtInstrumentRedemptionPeriodThreeMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtInstrumentRedemptionPeriodAxis=us-gaap_DebtInstrumentRedemptionPeriodThreeMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtInstrumentRedemptionPeriodAxis=us-gaap_DebtInstrumentRedemptionPeriodFourMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtInstrumentRedemptionPeriodAxis=us-gaap_DebtInstrumentRedemptionPeriodFourMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtInstrumentRedemptionPeriodAxis=us-gaap_DebtInstrumentRedemptionPeriodFiveMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtInstrumentRedemptionPeriodAxis=us-gaap_DebtInstrumentRedemptionPeriodFiveMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtInstrumentRedemptionPeriodAxis=bld_DebtInstrumentRedemptionPeriodSixMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtInstrumentRedemptionPeriodAxis=bld_DebtInstrumentRedemptionPeriodSixMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtInstrumentRedemptionPeriodAxis=bld_DebtInstrumentRedemptionPeriodSevenMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtInstrumentRedemptionPeriodAxis=bld_DebtInstrumentRedemptionPeriodSevenMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>53
<FILENAME>R43.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.1</span><table class="report" border="0" cellspacing="2" id="idm140418083855232">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Long-Term Debt - Other (Details)<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Mar. 31, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LongTermDebtOtherDisclosuresAbstract', window );"><strong>Debt covenants</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_bld_DebtInstrumentCovenantNetLeverageRatio', window );">Maximum Net Leverage Ratio</a></td>
<td class="nump">3.50<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_bld_DebtInstrumentCovenantMinimumInterestCoverageRatio', window );">Minimum Interest Coverage Ratio</a></td>
<td class="nump">3.00<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LongtermDebtTypeAxis=us-gaap_SeniorNotesMember', window );">Senior Notes | Event of Default Scenario</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LongTermDebtOtherDisclosuresAbstract', window );"><strong>Debt covenants</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_bld_MinimumPercentageOfDebtImmediatelyDueAndPayable', window );">Minimum percentage of principal of debt holders to declare debt immediately due and payable</a></td>
<td class="nump">30.00%<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentAxis=bld_SeniorNotesDue2029Member', window );">3.625% Senior Notes</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LongTermDebtOtherDisclosuresAbstract', window );"><strong>Debt covenants</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentInterestRateStatedPercentage', window );">Interest rate (as a percent)</a></td>
<td class="nump">3.625%<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentAxis=bld_SeniorNotesDue2032Member', window );">4.125% Senior Notes</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LongTermDebtOtherDisclosuresAbstract', window );"><strong>Debt covenants</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentInterestRateStatedPercentage', window );">Interest rate (as a percent)</a></td>
<td class="nump">4.125%<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_bld_DebtInstrumentCovenantMinimumInterestCoverageRatio">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Represents the minimum interest coverage ratio allowed under the terms of the credit agreement's covenants.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">bld_DebtInstrumentCovenantMinimumInterestCoverageRatio</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>bld_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:pureItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_bld_DebtInstrumentCovenantNetLeverageRatio">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Represents the ratio of total debt (less certain cash) to consolidated adjusted earnings before, interest, taxes, depreciation and amortization allowed under the terms of the credit agreement's covenants.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">bld_DebtInstrumentCovenantNetLeverageRatio</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>bld_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:pureItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_bld_MinimumPercentageOfDebtImmediatelyDueAndPayable">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The percentage of debtholders needed to declare outstanding principal and accrued interest, if any, immediately due and payable upon an event of default.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">bld_MinimumPercentageOfDebtImmediatelyDueAndPayable</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>bld_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtInstrumentInterestRateStatedPercentage">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Contractual interest rate for funds borrowed, under the debt agreement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1B<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=123466505&amp;loc=SL123495323-112611<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.22(a)(1))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtInstrumentInterestRateStatedPercentage</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LongTermDebtOtherDisclosuresAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LongTermDebtOtherDisclosuresAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LongtermDebtTypeAxis=us-gaap_SeniorNotesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LongtermDebtTypeAxis=us-gaap_SeniorNotesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_StatementScenarioAxis=bld_EventOfDefaultScenarioMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_StatementScenarioAxis=bld_EventOfDefaultScenarioMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtInstrumentAxis=bld_SeniorNotesDue2029Member">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtInstrumentAxis=bld_SeniorNotesDue2029Member</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtInstrumentAxis=bld_SeniorNotesDue2032Member">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtInstrumentAxis=bld_SeniorNotesDue2032Member</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>54
<FILENAME>R44.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.1</span><table class="report" border="0" cellspacing="2" id="idm140418079485824">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Fair Value Measurements (Details)<br> $ in Thousands</strong></div></th>
<th class="th">
<div>Mar. 31, 2023 </div>
<div>USD ($)</div>
</th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FairValueInputsQuantitativeInformationAbstract', window );"><strong>Fair Value on Non-Recurring Basis</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentCarryingAmount', window );">Amount outstanding</a></td>
<td class="nump">$ 1,464,935<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentAxis=bld_SeniorNotesDue2029Member', window );">3.625% Senior Notes</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FairValueInputsQuantitativeInformationAbstract', window );"><strong>Fair Value on Non-Recurring Basis</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentInterestRateStatedPercentage', window );">Interest rate (as a percent)</a></td>
<td class="nump">3.625%<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentCarryingAmount', window );">Amount outstanding</a></td>
<td class="nump">$ 400,000<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentAxis=bld_SeniorNotesDue2029Member', window );">3.625% Senior Notes | Fair Value on Non-Recurring Basis | Level 1 fair value measurement</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FairValueInputsQuantitativeInformationAbstract', window );"><strong>Fair Value on Non-Recurring Basis</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentInterestRateStatedPercentage', window );">Interest rate (as a percent)</a></td>
<td class="nump">3.625%<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentFairValue', window );">Fair value</a></td>
<td class="nump">$ 348,580<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentAxis=bld_SeniorNotesDue2032Member', window );">4.125% Senior Notes</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FairValueInputsQuantitativeInformationAbstract', window );"><strong>Fair Value on Non-Recurring Basis</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentInterestRateStatedPercentage', window );">Interest rate (as a percent)</a></td>
<td class="nump">4.125%<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentCarryingAmount', window );">Amount outstanding</a></td>
<td class="nump">$ 500,000<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentAxis=bld_SeniorNotesDue2032Member', window );">4.125% Senior Notes | Fair Value on Non-Recurring Basis | Level 1 fair value measurement</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FairValueInputsQuantitativeInformationAbstract', window );"><strong>Fair Value on Non-Recurring Basis</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentInterestRateStatedPercentage', window );">Interest rate (as a percent)</a></td>
<td class="nump">4.125%<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentFairValue', window );">Fair value</a></td>
<td class="nump">$ 427,500<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtInstrumentCarryingAmount">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, before unamortized (discount) premium and debt issuance costs, of long-term debt. Includes, but is not limited to, notes payable, bonds payable, commercial loans, mortgage loans, convertible debt, subordinated debt and other types of debt.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (b)(1)<br> -URI https://asc.fasb.org/extlink&amp;oid=123466204&amp;loc=SL6031897-161870<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(16))<br> -URI https://asc.fasb.org/extlink&amp;oid=126734703&amp;loc=d3e572229-122910<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(22))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(16))<br> -URI https://asc.fasb.org/extlink&amp;oid=126897435&amp;loc=d3e534808-122878<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtInstrumentCarryingAmount</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtInstrumentFairValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Fair value portion of debt instrument payable, including, but not limited to, notes payable and loans payable.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 55<br> -Paragraph 69C<br> -URI https://asc.fasb.org/extlink&amp;oid=123466577&amp;loc=SL123495737-112612<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 55<br> -Paragraph 69B<br> -URI https://asc.fasb.org/extlink&amp;oid=123466577&amp;loc=SL123495735-112612<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=123594938&amp;loc=d3e13433-108611<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1D<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=123466505&amp;loc=SL123495340-112611<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtInstrumentFairValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtInstrumentInterestRateStatedPercentage">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Contractual interest rate for funds borrowed, under the debt agreement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1B<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=123466505&amp;loc=SL123495323-112611<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.22(a)(1))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtInstrumentInterestRateStatedPercentage</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FairValueInputsQuantitativeInformationAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FairValueInputsQuantitativeInformationAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtInstrumentAxis=bld_SeniorNotesDue2029Member">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtInstrumentAxis=bld_SeniorNotesDue2029Member</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FairValueByMeasurementFrequencyAxis=us-gaap_FairValueMeasurementsNonrecurringMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FairValueByMeasurementFrequencyAxis=us-gaap_FairValueMeasurementsNonrecurringMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FairValueByFairValueHierarchyLevelAxis=us-gaap_FairValueInputsLevel1Member">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FairValueByFairValueHierarchyLevelAxis=us-gaap_FairValueInputsLevel1Member</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtInstrumentAxis=bld_SeniorNotesDue2032Member">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtInstrumentAxis=bld_SeniorNotesDue2032Member</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>55
<FILENAME>R45.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.1</span><table class="report" border="0" cellspacing="2" id="idm140418080406432">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Segment Information (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
<th class="th" colspan="1"></th>
</tr>
<tr>
<th class="th"><div>Mar. 31, 2023</div></th>
<th class="th"><div>Mar. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SegmentReportingInformationLineItems', window );"><strong>Segment information</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Net sales</a></td>
<td class="nump">$ 1,265,238<span></span>
</td>
<td class="nump">$ 1,168,918<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingIncomeLoss', window );">Operating profit as, reported</a></td>
<td class="nump">199,431<span></span>
</td>
<td class="nump">163,954<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NonoperatingIncomeExpense', window );">Other expense, net</a></td>
<td class="num">(16,116)<span></span>
</td>
<td class="num">(11,282)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest', window );">Income before income taxes</a></td>
<td class="nump">183,315<span></span>
</td>
<td class="nump">152,672<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Assets', window );">Total Assets</a></td>
<td class="nump">4,700,914<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 4,606,831<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_ConsolidationItemsAxis=us-gaap_OperatingSegmentsMember', window );">Operating Segment</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SegmentReportingInformationLineItems', window );"><strong>Segment information</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingIncomeLoss', window );">Operating profit as, reported</a></td>
<td class="nump">210,259<span></span>
</td>
<td class="nump">174,391<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_ConsolidationItemsAxis=us-gaap_OperatingSegmentsMember', window );">Operating Segment | Installation</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SegmentReportingInformationLineItems', window );"><strong>Segment information</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Net sales</a></td>
<td class="nump">767,090<span></span>
</td>
<td class="nump">676,693<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingIncomeLoss', window );">Operating profit as, reported</a></td>
<td class="nump">146,897<span></span>
</td>
<td class="nump">112,679<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_ConsolidationItemsAxis=us-gaap_OperatingSegmentsMember', window );">Operating Segment | Specialty Distribution</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SegmentReportingInformationLineItems', window );"><strong>Segment information</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Net sales</a></td>
<td class="nump">558,375<span></span>
</td>
<td class="nump">543,862<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingIncomeLoss', window );">Operating profit as, reported</a></td>
<td class="nump">73,333<span></span>
</td>
<td class="nump">70,420<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_ConsolidationItemsAxis=bld_EliminationsAndReconcilingItemsMember', window );">Eliminations</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SegmentReportingInformationLineItems', window );"><strong>Segment information</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Net sales</a></td>
<td class="num">(60,227)<span></span>
</td>
<td class="num">(51,637)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_ConsolidationItemsAxis=us-gaap_IntersegmentEliminationMember', window );">Intercompany Eliminations</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SegmentReportingInformationLineItems', window );"><strong>Segment information</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Net sales</a></td>
<td class="num">(60,227)<span></span>
</td>
<td class="num">(51,637)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingIncomeLoss', window );">Operating profit as, reported</a></td>
<td class="num">(9,971)<span></span>
</td>
<td class="num">(8,708)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_ConsolidationItemsAxis=us-gaap_CorporateNonSegmentMember', window );">Corporate</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SegmentReportingInformationLineItems', window );"><strong>Segment information</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingExpenses', window );">General corporate expense, net</a></td>
<td class="num">$ (10,828)<span></span>
</td>
<td class="num">$ (10,437)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_Assets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Sum of the carrying amounts as of the balance sheet date of all assets that are recognized. Assets are probable future economic benefits obtained or controlled by an entity as a result of past transactions or events.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(11))<br> -URI https://asc.fasb.org/extlink&amp;oid=126897435&amp;loc=d3e534808-122878<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(12))<br> -URI https://asc.fasb.org/extlink&amp;oid=126734703&amp;loc=d3e572229-122910<br><br>Reference 7: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124433192&amp;loc=SL2890621-112765<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 9: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 14: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=123596393&amp;loc=d3e14064-108612<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (bb)<br> -URI https://asc.fasb.org/extlink&amp;oid=123419778&amp;loc=d3e5710-111685<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (d)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 45<br> -Paragraph 25<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=116870748&amp;loc=SL6758485-165988<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(18))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8906-108599<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_Assets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of income (loss) from continuing operations, including income (loss) from equity method investments, before deduction of income tax expense (benefit), and income (loss) attributable to noncontrolling interest.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8906-108599<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 940<br> -SubTopic 20<br> -Section 25<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=126941158&amp;loc=d3e41242-110953<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(10))<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868664-224227<br><br>Reference 7: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(8))<br> -URI https://asc.fasb.org/extlink&amp;oid=120400993&amp;loc=SL114874131-224263<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 235<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-05(b)(2))<br> -URI https://asc.fasb.org/extlink&amp;oid=120399901&amp;loc=d3e537907-122884<br><br>Reference 9: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 31<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8924-108599<br><br>Reference 10: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(15))<br> -URI https://asc.fasb.org/extlink&amp;oid=120399700&amp;loc=SL114874048-224260<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NonoperatingIncomeExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The aggregate amount of income or expense from ancillary business-related activities (that is to say, excluding major activities considered part of the normal operations of the business).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.7)<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868664-224227<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NonoperatingIncomeExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingExpenses">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Generally recurring costs associated with normal operations except for the portion of these expenses which can be clearly related to production and included in cost of sales or services. Includes selling, general and administrative expense.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingExpenses</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingIncomeLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The net result for the period of deducting operating expenses from operating revenues.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 31<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8924-108599<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8906-108599<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingIncomeLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, excluding tax collected from customer, of revenue from satisfaction of performance obligation by transferring promised good or service to customer. Tax collected from customer is tax assessed by governmental authority that is both imposed on and concurrent with specific revenue-producing transaction, including, but not limited to, sales, use, value added and excise.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8906-108599<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 40<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e9031-108599<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 41<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e9038-108599<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126920106&amp;loc=SL49130543-203045<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 42<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e9054-108599<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 5<br> -URI https://asc.fasb.org/extlink&amp;oid=126920106&amp;loc=SL49130545-203045<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 924<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 11.L)<br> -URI https://asc.fasb.org/extlink&amp;oid=6472922&amp;loc=d3e499488-122856<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SegmentReportingInformationLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SegmentReportingInformationLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_ConsolidationItemsAxis=us-gaap_OperatingSegmentsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_ConsolidationItemsAxis=us-gaap_OperatingSegmentsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StatementBusinessSegmentsAxis=bld_InstallationSegmentMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StatementBusinessSegmentsAxis=bld_InstallationSegmentMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StatementBusinessSegmentsAxis=bld_DistributionSegmentMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StatementBusinessSegmentsAxis=bld_DistributionSegmentMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_ConsolidationItemsAxis=bld_EliminationsAndReconcilingItemsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_ConsolidationItemsAxis=bld_EliminationsAndReconcilingItemsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_ConsolidationItemsAxis=us-gaap_IntersegmentEliminationMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_ConsolidationItemsAxis=us-gaap_IntersegmentEliminationMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_ConsolidationItemsAxis=us-gaap_CorporateNonSegmentMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_ConsolidationItemsAxis=us-gaap_CorporateNonSegmentMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>56
<FILENAME>R46.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.1</span><table class="report" border="0" cellspacing="2" id="idm140418088666976">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Income Taxes (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Mar. 31, 2023</div></th>
<th class="th"><div>Mar. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxDisclosureAbstract', window );"><strong>Income Taxes</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EffectiveIncomeTaxRateContinuingOperations', window );">Effective tax rate (as a percent)</a></td>
<td class="nump">25.90%<span></span>
</td>
<td class="nump">24.90%<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense', window );">Benefit related to share-based compensation</a></td>
<td class="num">$ (45)<span></span>
</td>
<td class="nump">$ 1,605<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EffectiveIncomeTaxRateContinuingOperations">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Percentage of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 12<br> -URI https://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32687-109319<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EffectiveIncomeTaxRateContinuingOperations</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of tax benefit for recognition of expense of award under share-based payment arrangement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (h)(1)(i)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>57
<FILENAME>R47.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.1</span><table class="report" border="0" cellspacing="2" id="idm140418008808416">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Net Income Per Share - Calculation (Details) - USD ($)<br> $ / shares in Units, $ in Thousands</strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Mar. 31, 2023</div></th>
<th class="th"><div>Mar. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetIncomeLoss', window );">Net income - basic and diluted</a></td>
<td class="nump">$ 135,870<span></span>
</td>
<td class="nump">$ 114,711<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic', window );">Weighted average number of common shares outstanding - basic</a></td>
<td class="nump">31,550,658<span></span>
</td>
<td class="nump">32,738,525<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustmentAbstract', window );"><strong>Dilutive effect of common stock equivalents:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_bld_IncrementalCommonSharesAttributableToDilutiveEffectOfStockOptions', window );">Stock options</a></td>
<td class="nump">86,046<span></span>
</td>
<td class="nump">124,655<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding', window );">Weighted average number of common shares outstanding - diluted</a></td>
<td class="nump">31,713,239<span></span>
</td>
<td class="nump">33,042,490<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EarningsPerShareBasic', window );">Basic net income per common share</a></td>
<td class="nump">$ 4.31<span></span>
</td>
<td class="nump">$ 3.50<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EarningsPerShareDiluted', window );">Diluted net income per common share</a></td>
<td class="nump">$ 4.28<span></span>
</td>
<td class="nump">$ 3.47<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_bld_VestingCriteriaAxis=bld_VestingBasedOnServiceMember', window );">Service-based conditions</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustmentAbstract', window );"><strong>Dilutive effect of common stock equivalents:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_bld_IncrementalCommonSharesAttributableToDilutiveEffectOfRestrictedStockAwards', window );">Restricted stock awards</a></td>
<td class="nump">22,643<span></span>
</td>
<td class="nump">15,127<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_bld_VestingCriteriaAxis=bld_VestingBasedOnMarketConditionsMember', window );">Market-based conditions</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustmentAbstract', window );"><strong>Dilutive effect of common stock equivalents:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_bld_IncrementalCommonSharesAttributableToDilutiveEffectOfRestrictedStockAwards', window );">Restricted stock awards</a></td>
<td class="nump">24,861<span></span>
</td>
<td class="nump">100,158<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_bld_VestingCriteriaAxis=bld_VestingBasedOnPerformanceMember', window );">Performance-based conditions</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustmentAbstract', window );"><strong>Dilutive effect of common stock equivalents:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_bld_IncrementalCommonSharesAttributableToDilutiveEffectOfRestrictedStockAwards', window );">Restricted stock awards</a></td>
<td class="nump">29,031<span></span>
</td>
<td class="nump">64,025<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_bld_IncrementalCommonSharesAttributableToDilutiveEffectOfRestrictedStockAwards">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Additional shares included in the calculation of diluted EPS as a result of the potentially dilutive effect of restricted stock awards using the treasury stock method.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">bld_IncrementalCommonSharesAttributableToDilutiveEffectOfRestrictedStockAwards</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>bld_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_bld_IncrementalCommonSharesAttributableToDilutiveEffectOfStockOptions">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Additional shares included in the calculation of diluted EPS as a result of the potentially dilutive effect of stock options using the treasury stock method.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">bld_IncrementalCommonSharesAttributableToDilutiveEffectOfStockOptions</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>bld_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EarningsPerShareBasic">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The amount of net income (loss) for the period per each share of common stock or unit outstanding during the reporting period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 40<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (e)(4)<br> -URI https://asc.fasb.org/extlink&amp;oid=126732423&amp;loc=SL123482106-238011<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22583-107794<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22694-107794<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=d3e1448-109256<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22595-107794<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22694-107794<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 7<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=d3e1337-109256<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 40<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=126732423&amp;loc=SL123482106-238011<br><br>Reference 9: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 55<br> -Paragraph 52<br> -URI https://asc.fasb.org/extlink&amp;oid=128363288&amp;loc=d3e4984-109258<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(23))<br> -URI https://asc.fasb.org/extlink&amp;oid=120400993&amp;loc=SL114874131-224263<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 55<br> -Paragraph 15<br> -URI https://asc.fasb.org/extlink&amp;oid=128363288&amp;loc=d3e3842-109258<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22644-107794<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124432515&amp;loc=d3e3550-109257<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(25))<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868664-224227<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=d3e1252-109256<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (d)<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=SL5780133-109256<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(27))<br> -URI https://asc.fasb.org/extlink&amp;oid=120399700&amp;loc=SL114874048-224260<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerShareBasic</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EarningsPerShareDiluted">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The amount of net income (loss) for the period available to each share of common stock or common unit outstanding during the reporting period and to each share or unit that would have been outstanding assuming the issuance of common shares or units for all dilutive potential common shares or units outstanding during the reporting period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 55<br> -Paragraph 52<br> -URI https://asc.fasb.org/extlink&amp;oid=128363288&amp;loc=d3e4984-109258<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22644-107794<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 55<br> -Paragraph 15<br> -URI https://asc.fasb.org/extlink&amp;oid=128363288&amp;loc=d3e3842-109258<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=d3e1252-109256<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22694-107794<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22595-107794<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22583-107794<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (d)<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=SL5780133-109256<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 40<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=126732423&amp;loc=SL123482106-238011<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(27))<br> -URI https://asc.fasb.org/extlink&amp;oid=120399700&amp;loc=SL114874048-224260<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124432515&amp;loc=d3e3550-109257<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(23))<br> -URI https://asc.fasb.org/extlink&amp;oid=120400993&amp;loc=SL114874131-224263<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22694-107794<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 7<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=d3e1337-109256<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 40<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (e)(4)<br> -URI https://asc.fasb.org/extlink&amp;oid=126732423&amp;loc=SL123482106-238011<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(25))<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868664-224227<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerShareDiluted</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetIncomeLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The portion of profit or loss for the period, net of income taxes, which is attributable to the parent.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(22))<br> -URI https://asc.fasb.org/extlink&amp;oid=120399700&amp;loc=SL114874048-224260<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22595-107794<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(18))<br> -URI https://asc.fasb.org/extlink&amp;oid=120400993&amp;loc=SL114874131-224263<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 40<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=126732423&amp;loc=SL123482106-238011<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 50<br> -Paragraph 6<br> -URI https://asc.fasb.org/extlink&amp;oid=124431353&amp;loc=SL124452729-227067<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 8: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(20))<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868664-224227<br><br>Reference 9: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(2)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22499-107794<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22663-107794<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 17: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=123596393&amp;loc=d3e14064-108612<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22583-107794<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=SL5780133-109256<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22658-107794<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126968391&amp;loc=SL7669619-108580<br><br>Reference 25: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 31<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8924-108599<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22694-107794<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22694-107794<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 205<br> -SubTopic 20<br> -Section 50<br> -Paragraph 7<br> -URI https://asc.fasb.org/extlink&amp;oid=109222650&amp;loc=SL51721683-107760<br><br>Reference 29: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126968391&amp;loc=SL7669625-108580<br><br>Reference 30: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br><br>Reference 31: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 32: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 33: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 34: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8906-108599<br><br>Reference 35: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetIncomeLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustmentAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustmentAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The average number of shares or units issued and outstanding that are used in calculating diluted EPS or earnings per unit (EPU), determined based on the timing of issuance of shares or units in the period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124432515&amp;loc=d3e3550-109257<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 16<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=d3e1505-109256<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of [basic] shares or units, after adjustment for contingently issuable shares or units and other shares or units not deemed outstanding, determined by relating the portion of time within a reporting period that common shares or units have been outstanding to the total time in that period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124432515&amp;loc=d3e3550-109257<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=d3e1448-109256<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_WeightedAverageNumberOfSharesOutstandingBasic</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_bld_VestingCriteriaAxis=bld_VestingBasedOnServiceMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">bld_VestingCriteriaAxis=bld_VestingBasedOnServiceMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_bld_VestingCriteriaAxis=bld_VestingBasedOnMarketConditionsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">bld_VestingCriteriaAxis=bld_VestingBasedOnMarketConditionsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_bld_VestingCriteriaAxis=bld_VestingBasedOnPerformanceMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">bld_VestingCriteriaAxis=bld_VestingBasedOnPerformanceMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>58
<FILENAME>R48.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.1</span><table class="report" border="0" cellspacing="2" id="idm140418080905744">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Net Income Per Share - Anti-dilutive common stock equivalents (Details) - shares<br></strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Mar. 31, 2023</div></th>
<th class="th"><div>Mar. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems', window );"><strong>Anti-dilutive common stock equivalents</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount', window );">Total anti-dilutive common stock equivalents</a></td>
<td class="nump">42,376<span></span>
</td>
<td class="nump">35,121<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis=us-gaap_RestrictedStockMember', window );">Restricted Stock Awards | Service-based conditions</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems', window );"><strong>Anti-dilutive common stock equivalents</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount', window );">Total anti-dilutive common stock equivalents</a></td>
<td class="nump">11,163<span></span>
</td>
<td class="nump">10,244<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis=us-gaap_RestrictedStockMember', window );">Restricted Stock Awards | Market-based conditions</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems', window );"><strong>Anti-dilutive common stock equivalents</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount', window );">Total anti-dilutive common stock equivalents</a></td>
<td class="nump">8,933<span></span>
</td>
<td class="nump">382<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis=us-gaap_RestrictedStockMember', window );">Restricted Stock Awards | Performance-based conditions</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems', window );"><strong>Anti-dilutive common stock equivalents</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount', window );">Total anti-dilutive common stock equivalents</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">7,908<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis=us-gaap_EmployeeStockOptionMember', window );">Stock Options</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems', window );"><strong>Anti-dilutive common stock equivalents</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount', window );">Total anti-dilutive common stock equivalents</a></td>
<td class="nump">22,280<span></span>
</td>
<td class="nump">16,587<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Securities (including those issuable pursuant to contingent stock agreements) that could potentially dilute basic earnings per share (EPS) or earnings per unit (EPU) in the future that were not included in the computation of diluted EPS or EPU because to do so would increase EPS or EPU amounts or decrease loss per share or unit amounts for the period presented.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=124432515&amp;loc=d3e3550-109257<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis=us-gaap_RestrictedStockMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis=us-gaap_RestrictedStockMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_bld_VestingCriteriaAxis=bld_VestingBasedOnServiceMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">bld_VestingCriteriaAxis=bld_VestingBasedOnServiceMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_bld_VestingCriteriaAxis=bld_VestingBasedOnMarketConditionsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">bld_VestingCriteriaAxis=bld_VestingBasedOnMarketConditionsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_bld_VestingCriteriaAxis=bld_VestingBasedOnPerformanceMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">bld_VestingCriteriaAxis=bld_VestingBasedOnPerformanceMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis=us-gaap_EmployeeStockOptionMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis=us-gaap_EmployeeStockOptionMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>59
<FILENAME>R49.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.1</span><table class="report" border="0" cellspacing="2" id="idm140418081041824">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Share-Based Compensation - Expense (Details) - USD ($)<br> $ in Thousands, shares in Millions</strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Mar. 31, 2023</div></th>
<th class="th"><div>Mar. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems', window );"><strong>Share-Based Compensation</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AllocatedShareBasedCompensationExpense', window );">Share-based compensation expense</a></td>
<td class="nump">$ 3,135<span></span>
</td>
<td class="nump">$ 3,727<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense', window );">Income tax (expense) benefit</a></td>
<td class="num">$ (45)<span></span>
</td>
<td class="nump">$ 1,605<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PlanNameAxis=bld_LongTermIncentivePlanMember', window );">2015 Plan | Maximum</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems', window );"><strong>Share-Based Compensation</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized', window );">Number of shares authorized</a></td>
<td class="nump">4.0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AllocatedShareBasedCompensationExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of expense for award under share-based payment arrangement. Excludes amount capitalized.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (h)(1)(i)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AllocatedShareBasedCompensationExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of tax benefit for recognition of expense of award under share-based payment arrangement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (h)(1)(i)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of shares authorized for issuance under share-based payment arrangement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(3)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PlanNameAxis=bld_LongTermIncentivePlanMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PlanNameAxis=bld_LongTermIncentivePlanMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_RangeAxis=srt_MaximumMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_RangeAxis=srt_MaximumMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>60
<FILENAME>R50.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.1</span><table class="report" border="0" cellspacing="2" id="idm140418008508336">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Share-Based Compensation - Activity (Details) - USD ($)<br></strong></div></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="2">3 Months Ended</th>
<th class="th" colspan="1"></th>
</tr>
<tr>
<th class="th"><div>Feb. 21, 2023</div></th>
<th class="th"><div>Feb. 15, 2022</div></th>
<th class="th"><div>Feb. 16, 2021</div></th>
<th class="th"><div>Mar. 31, 2023</div></th>
<th class="th"><div>Mar. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward', window );"><strong>Stock Options, Number of Shares</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised', window );">Converted/Exercised (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(28,840)<span></span>
</td>
<td class="num">(12,269)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosuresAbstract', window );"><strong>Stock options, additional disclosures</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageRemainingContractualTerm1', window );">Weighted average remaining contractual term for vested stock options</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">5 years 10 months 24 days<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedAbstract', window );"><strong>Unrecognized share-based compensation expense</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized', window );">Total unrecognized compensation expense related to unvested awards</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 25,232,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AwardTypeAxis=us-gaap_RestrictedStockMember', window );">Restricted Stock Awards</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward', window );"><strong>Restricted Stock Awards, Number of Shares</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber', window );">Balance at beginning of period (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">173,200<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod', window );">Granted (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">95,400<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsConvertedExercisedInPeriod', window );">Converted/Exercised (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(95,000.0)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedOrExpiredInPeriod', window );">Forfeited/Expired (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(5,300)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber', window );">Balance at end of period (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">168,300<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward', window );"><strong>Restricted Stock Awards, Weighted Average Grant Date Fair Value Per Share</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue', window );">Balance at beginning of period (in dollars per share)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 195.06<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue', window );">Granted (in dollars per share)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">202.24<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsConvertedExercisedWeightedAverageGrantDateFairValue', window );">Converted/Exercised (in dollars per share)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">145.57<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedOrExpiredWeightedAverageGrantDateFairValue', window );">Forfeited/Expired (in dollars per share)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">242.76<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue', window );">Balance at end of period (in dollars per share)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 225.41<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedAbstract', window );"><strong>Unrecognized share-based compensation expense</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions', window );">RSAs, Unrecognized Compensation Expense on Unvested Awards</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 24,835,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1', window );">Weighted Average Remaining Compensation Expense Period</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">1 year 2 months 12 days<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsAndMethodologyAbstract', window );"><strong>Assumptions used to estimate the fair values of the awards granted:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRemainingMeasurementPeriod', window );">Measurement period (years)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">2 years 10 months 9 days<span></span>
</td>
<td class="text">2 years 10 months 13 days<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate', window );">Risk free interest rate (as a percent)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">4.42%<span></span>
</td>
<td class="nump">1.76%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate', window );">Dividend yield (as a percent)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">0.00%<span></span>
</td>
<td class="nump">0.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsEstimatedFairValueOfAwardsGranted', window );">Estimated fair value of market-based RSAs at grant date (in dollars per share)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 270.64<span></span>
</td>
<td class="nump">$ 298.20<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AwardTypeAxis=us-gaap_RestrictedStockMember', window );">Restricted Stock Awards | Performance-based conditions</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdditionalDisclosuresAbstract', window );"><strong>Restricted stock awards, additional disclosures</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardOtherThanOptionsGrantsInPeriodTotalGrantDateFairValue', window );">Grant date fair value</a></td>
<td class="nump">$ 4,192,000<span></span>
</td>
<td class="nump">$ 3,097,000<span></span>
</td>
<td class="nump">$ 2,197,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AwardTypeAxis=us-gaap_RestrictedStockMember', window );">Restricted Stock Awards | Performance-based conditions | Payout Range-0%</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdditionalDisclosuresAbstract', window );"><strong>Restricted stock awards, additional disclosures</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangePercentage', window );">Payout range (as a percent)</a></td>
<td class="nump">0.00%<span></span>
</td>
<td class="nump">0.00%<span></span>
</td>
<td class="nump">0.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AwardTypeAxis=us-gaap_RestrictedStockMember', window );">Restricted Stock Awards | Performance-based conditions | Payout Range-25%</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdditionalDisclosuresAbstract', window );"><strong>Restricted stock awards, additional disclosures</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangePercentage', window );">Payout range (as a percent)</a></td>
<td class="nump">25.00%<span></span>
</td>
<td class="nump">25.00%<span></span>
</td>
<td class="nump">25.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeRelatedExpenses', window );">Related expenses</a></td>
<td class="nump">$ 1,048,000<span></span>
</td>
<td class="nump">$ 774,000<span></span>
</td>
<td class="nump">$ 549,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AwardTypeAxis=us-gaap_RestrictedStockMember', window );">Restricted Stock Awards | Performance-based conditions | Payout Range-100%</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdditionalDisclosuresAbstract', window );"><strong>Restricted stock awards, additional disclosures</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangePercentage', window );">Payout range (as a percent)</a></td>
<td class="nump">100.00%<span></span>
</td>
<td class="nump">100.00%<span></span>
</td>
<td class="nump">100.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeRelatedExpenses', window );">Related expenses</a></td>
<td class="nump">$ 4,192,000<span></span>
</td>
<td class="nump">$ 3,097,000<span></span>
</td>
<td class="nump">$ 2,197,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AwardTypeAxis=us-gaap_RestrictedStockMember', window );">Restricted Stock Awards | Performance-based conditions | Payout Range-200%</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdditionalDisclosuresAbstract', window );"><strong>Restricted stock awards, additional disclosures</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangePercentage', window );">Payout range (as a percent)</a></td>
<td class="nump">200.00%<span></span>
</td>
<td class="nump">200.00%<span></span>
</td>
<td class="nump">200.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeRelatedExpenses', window );">Related expenses</a></td>
<td class="nump">$ 8,384,000<span></span>
</td>
<td class="nump">$ 6,194,000<span></span>
</td>
<td class="nump">$ 4,394,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AwardTypeAxis=bld_RestrictedStockAwardsGrantedFebruary2020Member', window );">RSAs granted February 17, 2020 | Performance-based conditions</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdditionalDisclosuresAbstract', window );"><strong>Restricted stock awards, additional disclosures</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardOtherThanOptionsGrantsCumulativePeriodOfAchievement', window );">Cumulative period of achievement</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">3 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardOtherThanOptionsGrantsCumulativePeriodOfAchievementPercentage', window );">Cumulative achievement percentage</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">200.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardOtherThanOptionsGrantsTotalCompensationExpenseRecognizedOverPerformancePeriod', window );">Total compensation expense recognized over the performance period, net of forfeitures</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 5,000,000.0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AwardTypeAxis=us-gaap_EmployeeStockOptionMember', window );">Stock Options</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward', window );"><strong>Stock Options, Number of Shares</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber', window );">Balance at beginning of period (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">182,200<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised', window );">Converted/Exercised (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(28,800)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber', window );">Balance at end of period (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">153,400<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValueAbstract', window );"><strong>Stock Options, Weighted Average Grant Date Fair Value Per Share</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue', window );">Balance at beginning of period (in dollars per share)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 32.25<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsConvertedExercisedWeightedAverageGrantDateFairValue', window );">Converted/Exercised (in dollars per share)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">13.07<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue', window );">Balance at end of period (in dollars per share)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">35.98<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward', window );"><strong>Stock Options, Weighted Average Exercise Price Per Share</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice', window );">Balance at beginning of period (in dollars per share)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">86.79<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice', window );">Converted/Exercised (in dollars per share)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">35.67<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice', window );">Balance at end of period (in dollars per share)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 96.40<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosuresAbstract', window );"><strong>Stock options, additional disclosures</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue', window );">Aggregate intrinsic value</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 17,277,200<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 13,992,300<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue', window );">Converted/Exercised aggregate intrinsic value</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 4,504,800<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber', window );">Exercisable, Number of shares</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">145,900<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageGrantDateFairValue', window );">Exercisable, Weighted Average Grant Date Fair Value Per Share</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 33.25<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice', window );">Exercisable Weighted Average Exercise Price Per Share</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 90.39<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1', window );">Exercisable, Aggregate Intrinsic Value</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 17,277,200<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedAbstract', window );"><strong>Unrecognized share-based compensation expense</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions', window );">Stock options, Unrecognized Compensation Expense on Unvested Awards</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 397,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1', window );">Weighted Average Remaining Compensation Expense Period</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">6 months<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsConvertedExercisedInPeriod">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The number of equity-based payment instruments, excluding stock (or unit) options, that were converted/exercised during the reporting period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsConvertedExercisedInPeriod</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>bld_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsConvertedExercisedWeightedAverageGrantDateFairValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Weighted average fair value as of the grant date of equity-based award plans other than stock (unit) option plans that were converted/exercised.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsConvertedExercisedWeightedAverageGrantDateFairValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>bld_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedOrExpiredInPeriod">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The number of equity-based payment instruments, excluding stock (or unit) options, that were forfeited or expired during the reporting period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedOrExpiredInPeriod</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>bld_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedOrExpiredWeightedAverageGrantDateFairValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Weighted average fair value as of the grant date of equity-based award plans other than stock (unit) option plans that were forfeited or expired.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedOrExpiredWeightedAverageGrantDateFairValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>bld_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsEstimatedFairValueOfAwardsGranted">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Represents the estimated fair value of the awards granted.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsEstimatedFairValueOfAwardsGranted</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>bld_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRemainingMeasurementPeriod">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The remaining measurement period of share-based compensation awards, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRemainingMeasurementPeriod</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>bld_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsConvertedExercisedWeightedAverageGrantDateFairValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Weighted average grant-date fair value of options converted/exercised.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsConvertedExercisedWeightedAverageGrantDateFairValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>bld_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageGrantDateFairValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Represents the Share Based Compensation Arrangement By Share Based Payment Award Options Exercisable Weighted Average Grant Date Fair Value.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageGrantDateFairValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>bld_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardOtherThanOptionsGrantsCumulativePeriodOfAchievement">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The cumulative period of achievement related to restricted stock awards with performance conditions.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardOtherThanOptionsGrantsCumulativePeriodOfAchievement</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>bld_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardOtherThanOptionsGrantsCumulativePeriodOfAchievementPercentage">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The cumulative three-year achievement percentage related to the restricted stock awards with performance conditions.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardOtherThanOptionsGrantsCumulativePeriodOfAchievementPercentage</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>bld_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardOtherThanOptionsGrantsInPeriodTotalGrantDateFairValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Represents the total fair value of equity-based awards, other then options, granted during the reporting period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardOtherThanOptionsGrantsInPeriodTotalGrantDateFairValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>bld_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardOtherThanOptionsGrantsTotalCompensationExpenseRecognizedOverPerformancePeriod">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The total compensation expense recognized over the performance period, net of forfeitures, related to the restricted stock awards with performance conditions.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardOtherThanOptionsGrantsTotalCompensationExpenseRecognizedOverPerformancePeriod</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>bld_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangePercentage">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The payout range expressed as a percentage of the grant date fair value related to performance-based awards.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangePercentage</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>bld_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeRelatedExpenses">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The compensation expense based on the payout range related to performance-based awards.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeRelatedExpenses</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>bld_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of cost not yet recognized for nonvested award under share-based payment arrangement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (i)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Weighted-average period over which cost not yet recognized is expected to be recognized for award under share-based payment arrangement, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (i)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of cost to be recognized for nonvested award under share-based payment arrangement. Excludes share and unit options.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (i)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of cost to be recognized for option under share-based payment arrangement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (i)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdditionalDisclosuresAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdditionalDisclosuresAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The number of grants made during the period on other than stock (or unit) option plans (for example, phantom stock or unit plan, stock or unit appreciation rights plan, performance target plan).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(01)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The weighted average fair value at grant date for nonvested equity-based awards issued during the period on other than stock (or unit) option plans (for example, phantom stock or unit plan, stock or unit appreciation rights plan, performance target plan).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(01)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The number of non-vested equity-based payment instruments, excluding stock (or unit) options, that validly exist and are outstanding as of the balance sheet date.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(ii)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(i)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Per share or unit weighted-average fair value of nonvested award under share-based payment arrangement. Excludes share and unit options.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(i)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(ii)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsAndMethodologyAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsAndMethodologyAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The estimated dividend rate (a percentage of the share price) to be paid (expected dividends) to holders of the underlying shares over the option's term.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(iii)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The risk-free interest rate assumption that is used in valuing an option on its own shares.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(iv)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosuresAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosuresAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The number of shares into which fully or partially vested stock options outstanding as of the balance sheet date can be currently converted under the option plan.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iii)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The weighted-average price as of the balance sheet date at which grantees can acquire the shares reserved for issuance on vested portions of options outstanding and currently exercisable under the stock option plan.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iii)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of accumulated difference between fair value of underlying shares on dates of exercise and exercise price on options exercised (or share units converted) into shares.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (d)(2)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount by which the current fair value of the underlying stock exceeds the exercise price of options outstanding.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of options outstanding, including both vested and non-vested options.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(ii)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(i)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Weighted average price at which grantees can acquire the shares reserved for issuance under the stock option plan.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(ii)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(i)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Weighted average price at which option holders acquired shares when converting their stock options into shares.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(02)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of difference between fair value of the underlying shares reserved for issuance and exercise price of vested portions of options outstanding and currently exercisable.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Weighted average grant-date fair value of non-vested options outstanding.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValueAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValueAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageRemainingContractualTerm1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Weighted average remaining contractual term for fully vested and expected to vest exercisable or convertible options, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days. Includes, but is not limited to, unvested options for which requisite service period has not been rendered but that are expected to vest based on achievement of performance condition, if forfeitures are recognized when they occur.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (e)(2)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageRemainingContractualTerm1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of share options (or share units) exercised during the current period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(02)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -URI https://asc.fasb.org/extlink&amp;oid=120397183&amp;loc=d3e187085-122770<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=126973232&amp;loc=d3e21463-112644<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AwardTypeAxis=us-gaap_RestrictedStockMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AwardTypeAxis=us-gaap_RestrictedStockMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_bld_VestingCriteriaAxis=bld_VestingBasedOnPerformanceMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">bld_VestingCriteriaAxis=bld_VestingBasedOnPerformanceMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeAxis=bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeOneMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeAxis=bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeOneMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeAxis=bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeTwoMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeAxis=bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeTwoMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeAxis=bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeThreeMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeAxis=bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeThreeMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeAxis=bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeFourMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeAxis=bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeFourMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AwardTypeAxis=bld_RestrictedStockAwardsGrantedFebruary2020Member">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AwardTypeAxis=bld_RestrictedStockAwardsGrantedFebruary2020Member</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AwardTypeAxis=us-gaap_EmployeeStockOptionMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AwardTypeAxis=us-gaap_EmployeeStockOptionMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>61
<FILENAME>R51.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.1</span><table class="report" border="0" cellspacing="2" id="idm140418080158432">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Business Combinations - Summary (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="2">3 Months Ended</th>
<th class="th" colspan="1"></th>
</tr>
<tr>
<th class="th"><div>Jan. 26, 2023</div></th>
<th class="th"><div>Feb. 23, 2022</div></th>
<th class="th"><div>Mar. 31, 2023</div></th>
<th class="th"><div>Mar. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionLineItems', window );"><strong>Business Combinations</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationAcquisitionRelatedCosts', window );">Acquisition related costs</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 1,700<span></span>
</td>
<td class="nump">$ 900<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Goodwill', window );">Goodwill</a></td>
<td class="nump">$ 25,400<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,992,394<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 1,966,994<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationDescriptionAbstract', window );"><strong>Summary of businesses acquired:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Goodwill', window );">Goodwill</a></td>
<td class="nump">25,400<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,992,394<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,966,994<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionPurchasePriceAllocationGoodwillExpectedTaxDeductibleAmount', window );">Goodwill expected to be deducted for income tax purposes</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">25,400<span></span>
</td>
<td class="nump">4,100<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNetAbstract', window );"><strong>Estimated fair values</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Goodwill', window );">Goodwill</a></td>
<td class="nump">25,400<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 1,992,394<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 1,966,994<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=bld_SriHoldingsMember', window );">SRI Holdings</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionLineItems', window );"><strong>Business Combinations</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationConsiderationTransferred1', window );">Purchase price</a></td>
<td class="nump">$ 45,800<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=bld_Acquisitions2022Member', window );">2022 Acquisitions</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationDescriptionAbstract', window );"><strong>Summary of businesses acquired:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PaymentsToAcquireBusinessesGross', window );">Cash Paid</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">8,505<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_GoodwillAcquiredDuringPeriod', window );">Goodwill Acquired</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">4,093<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=bld_BillingsInsulationServiceInc.Member', window );">Billings</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationDescriptionAbstract', window );"><strong>Summary of businesses acquired:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PaymentsToAcquireBusinessesGross', window );">Cash Paid</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 7,005<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_GoodwillAcquiredDuringPeriod', window );">Goodwill Acquired</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 3,313<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=us-gaap_SeriesOfIndividuallyImmaterialBusinessAcquisitionsMember', window );">All others</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationDescriptionAbstract', window );"><strong>Summary of businesses acquired:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PaymentsToAcquireBusinessesGross', window );">Cash Paid</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,500<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_GoodwillAcquiredDuringPeriod', window );">Goodwill Acquired</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 780<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessAcquisitionLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessAcquisitionLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessAcquisitionPurchasePriceAllocationGoodwillExpectedTaxDeductibleAmount">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The amount of goodwill arising from a business combination that is expected to be deductible for tax purposes.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 30<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (d)<br> -URI https://asc.fasb.org/extlink&amp;oid=126975305&amp;loc=d3e6927-128479<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessAcquisitionPurchasePriceAllocationGoodwillExpectedTaxDeductibleAmount</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessCombinationAcquisitionRelatedCosts">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>This element represents acquisition-related costs incurred to effect a business combination which costs have been expensed during the period. Such costs include finder's fees; advisory, legal, accounting, valuation, and other professional or consulting fees; general administrative costs, including the costs of maintaining an internal acquisitions department; and may include costs of registering and issuing debt and equity securities.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 10<br> -Section 25<br> -Paragraph 23<br> -URI https://asc.fasb.org/extlink&amp;oid=123586518&amp;loc=d3e1043-128460<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationAcquisitionRelatedCosts</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessCombinationConsiderationTransferred1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of consideration transferred, consisting of acquisition-date fair value of assets transferred by the acquirer, liabilities incurred by the acquirer, and equity interest issued by the acquirer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 30<br> -Section 30<br> -Paragraph 8<br> -URI https://asc.fasb.org/extlink&amp;oid=126966197&amp;loc=d3e6613-128477<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 30<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126975305&amp;loc=d3e6927-128479<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 30<br> -Section 30<br> -Paragraph 7<br> -URI https://asc.fasb.org/extlink&amp;oid=126966197&amp;loc=d3e6578-128477<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationConsiderationTransferred1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessCombinationDescriptionAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationDescriptionAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNetAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNetAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_Goodwill">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount after accumulated impairment loss of an asset representing future economic benefits arising from other assets acquired in a business combination that are not individually identified and separately recognized.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=121556970&amp;loc=d3e13816-109267<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(10)(1))<br> -URI https://asc.fasb.org/extlink&amp;oid=126897435&amp;loc=d3e534808-122878<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (h)<br> -URI https://asc.fasb.org/extlink&amp;oid=121556970&amp;loc=d3e13816-109267<br><br>Reference 4: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 55<br> -Paragraph 24<br> -URI https://asc.fasb.org/extlink&amp;oid=122137925&amp;loc=d3e14258-109268<br><br>Reference 5: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 45<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=99380562&amp;loc=d3e13770-109266<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(15))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_Goodwill</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GoodwillAcquiredDuringPeriod">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of increase in asset representing future economic benefits arising from other assets acquired in a business combination that are not individually identified and separately recognized resulting from a business combination.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 55<br> -Paragraph 24<br> -URI https://asc.fasb.org/extlink&amp;oid=122137925&amp;loc=d3e14258-109268<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=121556970&amp;loc=d3e13816-109267<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GoodwillAcquiredDuringPeriod</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PaymentsToAcquireBusinessesGross">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The cash outflow associated with the acquisition of business during the period. The cash portion only of the acquisition price.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 30<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(1)<br> -URI https://asc.fasb.org/extlink&amp;oid=126975305&amp;loc=d3e6927-128479<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 13<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3213-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PaymentsToAcquireBusinessesGross</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessAcquisitionAxis=bld_SriHoldingsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessAcquisitionAxis=bld_SriHoldingsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessAcquisitionAxis=bld_Acquisitions2022Member">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessAcquisitionAxis=bld_Acquisitions2022Member</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessAcquisitionAxis=bld_BillingsInsulationServiceInc.Member">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessAcquisitionAxis=bld_BillingsInsulationServiceInc.Member</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessAcquisitionAxis=us-gaap_SeriesOfIndividuallyImmaterialBusinessAcquisitionsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessAcquisitionAxis=us-gaap_SeriesOfIndividuallyImmaterialBusinessAcquisitionsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>62
<FILENAME>R52.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.1</span><table class="report" border="0" cellspacing="2" id="idm140418080795424">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Accrued Liabilities (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Mar. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PayablesAndAccrualsAbstract', window );"><strong>Accrued Liabilities.</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EmployeeRelatedLiabilitiesCurrent', window );">Salaries, wages, and bonus/commissions</a></td>
<td class="nump">$ 52,742<span></span>
</td>
<td class="nump">$ 75,901<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccruedIncomeTaxesCurrent', window );">Income taxes payable</a></td>
<td class="nump">40,740<span></span>
</td>
<td class="nump">2,134<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccruedInsuranceCurrent', window );">Insurance liabilities</a></td>
<td class="nump">28,199<span></span>
</td>
<td class="nump">28,870<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_bld_AccruedCustomerRebatesCurrent', window );">Customer rebates</a></td>
<td class="nump">11,169<span></span>
</td>
<td class="nump">21,561<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ContractWithCustomerLiabilityCurrent', window );">Deferred revenue</a></td>
<td class="nump">20,738<span></span>
</td>
<td class="nump">21,940<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_bld_AccruedSalesAndPropertyTaxesCurrent', window );">Sales and property taxes</a></td>
<td class="nump">15,850<span></span>
</td>
<td class="nump">15,757<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InterestPayableCurrent', window );">Interest payable on long-term debt</a></td>
<td class="nump">3,193<span></span>
</td>
<td class="nump">12,146<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherAccruedLiabilitiesCurrent', window );">Other</a></td>
<td class="nump">20,716<span></span>
</td>
<td class="nump">21,061<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_bld_AccruedLiabilitiesAndEmployeeRelatedLiabilitiesCurrent', window );">Total accrued liabilities</a></td>
<td class="nump">$ 193,347<span></span>
</td>
<td class="nump">$ 199,370<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_bld_AccruedCustomerRebatesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Total of the carrying values as of the balance sheet date of obligations incurred through that date and payable for obligations for customer rebates. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">bld_AccruedCustomerRebatesCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>bld_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_bld_AccruedLiabilitiesAndEmployeeRelatedLiabilitiesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Carrying value as of the balance sheet date of obligations incurred and payable, pertaining to costs that are statutory in nature, are incurred on contractual obligations, or accumulate over time and for which invoices have not yet been received or will not be rendered. Also includes the total of the carrying values as of the balance sheet date of obligations incurred through that date and payable for obligations related to services received from employees, such as accrued salaries and bonuses, payroll taxes and fringe benefits. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">bld_AccruedLiabilitiesAndEmployeeRelatedLiabilitiesCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>bld_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_bld_AccruedSalesAndPropertyTaxesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Total of the carrying values as of the balance sheet date of obligations incurred through that date and payable for obligations for sales and property taxes. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">bld_AccruedSalesAndPropertyTaxesCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>bld_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccruedIncomeTaxesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Carrying amount as of the balance sheet date of the unpaid sum of the known and estimated amounts payable to satisfy all currently due domestic and foreign income tax obligations.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(15)(b)(1))<br> -URI https://asc.fasb.org/extlink&amp;oid=126734703&amp;loc=d3e572229-122910<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(15)(1))<br> -URI https://asc.fasb.org/extlink&amp;oid=126897435&amp;loc=d3e534808-122878<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(20))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccruedIncomeTaxesCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccruedInsuranceCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Carrying value as of the balance sheet date of obligations incurred through that date and payable to insurance entities to mitigate potential loss from various risks or to satisfy a promise to provide certain coverage's to employees. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.20)<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccruedInsuranceCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ContractWithCustomerLiabilityCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of obligation to transfer good or service to customer for which consideration has been received or is receivable, classified as current.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=126919976&amp;loc=SL49130531-203044<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 45<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=126919976&amp;loc=SL49130532-203044<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126920106&amp;loc=SL49130549-203045<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ContractWithCustomerLiabilityCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EmployeeRelatedLiabilitiesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Total of the carrying values as of the balance sheet date of obligations incurred through that date and payable for obligations related to services received from employees, such as accrued salaries and bonuses, payroll taxes and fringe benefits. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.20)<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EmployeeRelatedLiabilitiesCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InterestPayableCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Carrying value as of the balance sheet date of [accrued] interest payable on all forms of debt, including trade payables, that has been incurred and is unpaid. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.20)<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InterestPayableCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherAccruedLiabilitiesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of expenses incurred but not yet paid classified as other, due within one year or the normal operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.20)<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherAccruedLiabilitiesCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PayablesAndAccrualsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PayablesAndAccrualsAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>63
<FILENAME>R53.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.1</span><table class="report" border="0" cellspacing="2" id="idm140418081027296">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Other Commitments and Contingencies (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Mar. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_bld_OutstandingBondsAbstract', window );"><strong>Outstanding Bonds</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_bld_PerformanceBondsOutstanding', window );">Performance bonds</a></td>
<td class="nump">$ 147,468<span></span>
</td>
<td class="nump">$ 152,434<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_bld_LicenseAndInsuranceRelatedAndOtherBondsOutstanding', window );">Licensing, insurance, and other bonds</a></td>
<td class="nump">25,527<span></span>
</td>
<td class="nump">25,439<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_bld_BondsOutstanding', window );">Total bonds</a></td>
<td class="nump">$ 172,995<span></span>
</td>
<td class="nump">$ 177,873<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_bld_BondsOutstanding">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The amount of bonds outstanding at the end of the reporting period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">bld_BondsOutstanding</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>bld_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_bld_LicenseAndInsuranceRelatedAndOtherBondsOutstanding">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Represents the amount of other type of bonds outstanding, principally license and insurance related.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">bld_LicenseAndInsuranceRelatedAndOtherBondsOutstanding</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>bld_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_bld_OutstandingBondsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">bld_OutstandingBondsAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>bld_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_bld_PerformanceBondsOutstanding">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Represents the amount of performance bonds outstanding.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">bld_PerformanceBondsOutstanding</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>bld_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>64
<FILENAME>bld-20230331x10q_htm.xml
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<XML>
<?xml version="1.0" encoding="utf-8"?>
<xbrl
  xmlns="http://www.xbrl.org/2003/instance"
  xmlns:bld="http://www.topbuild.com/20230331"
  xmlns:dei="http://xbrl.sec.gov/dei/2022"
  xmlns:iso4217="http://www.xbrl.org/2003/iso4217"
  xmlns:link="http://www.xbrl.org/2003/linkbase"
  xmlns:srt="http://fasb.org/srt/2022"
  xmlns:us-gaap="http://fasb.org/us-gaap/2022"
  xmlns:xbrldi="http://xbrl.org/2006/xbrldi"
  xmlns:xlink="http://www.w3.org/1999/xlink"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <link:schemaRef xlink:href="bld-20230331.xsd" xlink:type="simple"/>
    <context id="Duration_1_1_2023_To_3_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_WKBbOPkAq0e7qMWBF4qifA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001633931</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2022_To_3_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_r94adSnxsE6EVtvTOFRWng">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001633931</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-03-31</endDate>
        </period>
    </context>
    <context id="As_Of_3_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockCommonMember_wPhW8rxqnE-envvxa0pjpQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001633931</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockCommonMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-03-31</instant>
        </period>
    </context>
    <context id="As_Of_3_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_WvPQwD3k7UaZavqehpN7Yg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001633931</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-03-31</instant>
        </period>
    </context>
    <context id="As_Of_3_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_7jVY8WF-Xkav1ie7BJR1NA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001633931</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-03-31</instant>
        </period>
    </context>
    <context id="As_Of_3_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_p0IFFl326kadCw4l87On1A">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001633931</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-03-31</instant>
        </period>
    </context>
    <context id="As_Of_3_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_qVYZQAsDJ0OVpCXrFAkkUg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001633931</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-03-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockCommonMember_KfSzM8aCfEC6P-O2fJUm7g">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001633931</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockCommonMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_x8JaX_v4PE-MsieRKNXtPA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001633931</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_Irp462mrQUS46zMir5jc3g">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001633931</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_LaYSzyaUqEWHOGOQq680pw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001633931</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_1p0qTKI-3EOvSkwuCyLm4w">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001633931</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="As_Of_3_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockCommonMember__qc3JlJGTka4g7lG8jQIKw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001633931</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockCommonMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-03-31</instant>
        </period>
    </context>
    <context id="As_Of_3_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_3bDtyK5TkEKLfjrAJGHnJg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001633931</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-03-31</instant>
        </period>
    </context>
    <context id="As_Of_3_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_-WLZknLc_EO6uYMNLBbE7g">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001633931</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-03-31</instant>
        </period>
    </context>
    <context id="As_Of_3_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_UP_jxLV5x0u7Ji9GffULgg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001633931</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-03-31</instant>
        </period>
    </context>
    <context id="As_Of_3_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_hB_lpYD3vEm4my71pcTHwQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001633931</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-03-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockCommonMember_aoGRqgmjFESQWsmqvRfu9g">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001633931</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockCommonMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember__pvOBVpXeE67ZLr3-c0IdQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001633931</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_K4Q3DjveCEiH0sBuPGCPDQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001633931</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_xlHF0V5WBEeDbcFLDgsp3g">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001633931</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_ZkWO_EPNxka9Q35wozuBMQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001633931</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2022_us-gaap_AwardTypeAxis_us-gaap_EmployeeStockOptionMember_SvwL_1-BQkqWC-2hDx5qwA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001633931</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="As_Of_3_31_2023_srt_RangeAxis_srt_MaximumMember_us-gaap_PlanNameAxis_bld_LongTermIncentivePlanMember_tIAn4wlxMk-KyfSphArL4A">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001633931</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">bld:LongTermIncentivePlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-03-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2022_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockMember_gyTMO563sEqpZmQ3457eFw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001633931</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="Duration_1_1_2023_To_3_31_2023_us-gaap_BusinessAcquisitionAxis_bld_Acquisitions2022Member_1QXhCc_AR0OBZkhKxfgkNw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001633931</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">bld:Acquisitions2022Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2023_To_3_31_2023_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_srt_MajorCustomersAxis_bld_ResidentialMember_us-gaap_StatementBusinessSegmentsAxis_bld_InstallationSegmentMember_pYUq_of_y0SxcZdlaU8_Mw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001633931</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">bld:ResidentialMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">bld:InstallationSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2023_To_3_31_2023_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_srt_MajorCustomersAxis_bld_ResidentialMember_us-gaap_StatementBusinessSegmentsAxis_bld_DistributionSegmentMember_rCbAEpjGAEmYhiqgf9uh7A">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001633931</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">bld:ResidentialMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">bld:DistributionSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2023_To_3_31_2023_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_srt_ProductOrServiceAxis_bld_RainGuttersMember_us-gaap_StatementBusinessSegmentsAxis_bld_InstallationSegmentMember_S5g4dfB2OUGxXfT_s7Ahpg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001633931</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">bld:RainGuttersMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">bld:InstallationSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2023_To_3_31_2023_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_srt_ProductOrServiceAxis_bld_RainGuttersMember_us-gaap_StatementBusinessSegmentsAxis_bld_DistributionSegmentMember_VRZZXok16US1qjAj47aghA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001633931</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">bld:RainGuttersMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">bld:DistributionSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2023_To_3_31_2023_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_srt_ProductOrServiceAxis_bld_InsulationAndAccessoriesMember_us-gaap_StatementBusinessSegmentsAxis_bld_InstallationSegmentMember_ls0M8rPlDkiOjefb6yS8wg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001633931</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">bld:InsulationAndAccessoriesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">bld:InstallationSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2023_To_3_31_2023_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_srt_ProductOrServiceAxis_bld_InsulationAndAccessoriesMember_us-gaap_StatementBusinessSegmentsAxis_bld_DistributionSegmentMember_vAFdzEmuE0Sqn-v0fbhXwg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001633931</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">bld:InsulationAndAccessoriesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">bld:DistributionSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2023_To_3_31_2023_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_srt_ProductOrServiceAxis_bld_GlassAndWindowsMember_us-gaap_StatementBusinessSegmentsAxis_bld_InstallationSegmentMember_m6HhV_9kBky5WNYd6Rdmiw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001633931</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">bld:GlassAndWindowsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">bld:InstallationSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2023_To_3_31_2023_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_srt_MajorCustomersAxis_bld_CommercialAndIndustrialMember_us-gaap_StatementBusinessSegmentsAxis_bld_InstallationSegmentMember_l4jPlopJaE-gNKOSERSp0Q">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001633931</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">bld:CommercialAndIndustrialMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">bld:InstallationSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2023_To_3_31_2023_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_srt_MajorCustomersAxis_bld_CommercialAndIndustrialMember_us-gaap_StatementBusinessSegmentsAxis_bld_DistributionSegmentMember_H_KoZsVa7E-ZHX4AAwaAlA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001633931</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">bld:CommercialAndIndustrialMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">bld:DistributionSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2023_To_3_31_2023_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_srt_ProductOrServiceAxis_bld_AllOtherProductsMember_us-gaap_StatementBusinessSegmentsAxis_bld_InstallationSegmentMember_aTlmtepgD06zikbyhK_MLA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001633931</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">bld:AllOtherProductsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">bld:InstallationSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2023_To_3_31_2023_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_srt_ProductOrServiceAxis_bld_AllOtherProductsMember_us-gaap_StatementBusinessSegmentsAxis_bld_DistributionSegmentMember_sYDxsSBhtEGWo1QAuLjHfg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001633931</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">bld:AllOtherProductsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">bld:DistributionSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2023_To_3_31_2023_srt_ConsolidationItemsAxis_bld_EliminationsAndReconcilingItemsMember_srt_MajorCustomersAxis_bld_ResidentialMember_S4KNaqCrrkWQNZvrh9KDVA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001633931</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">bld:EliminationsAndReconcilingItemsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">bld:ResidentialMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2023_To_3_31_2023_srt_ConsolidationItemsAxis_bld_EliminationsAndReconcilingItemsMember_srt_ProductOrServiceAxis_bld_RainGuttersMember_-d9sxYyMYk-7pj_qAs_wRg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001633931</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">bld:EliminationsAndReconcilingItemsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">bld:RainGuttersMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2023_To_3_31_2023_srt_ConsolidationItemsAxis_bld_EliminationsAndReconcilingItemsMember_srt_ProductOrServiceAxis_bld_InsulationAndAccessoriesMember_E7gatzAIu0ey-mxgIBiUlw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001633931</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">bld:EliminationsAndReconcilingItemsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">bld:InsulationAndAccessoriesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2023_To_3_31_2023_srt_ConsolidationItemsAxis_bld_EliminationsAndReconcilingItemsMember_srt_MajorCustomersAxis_bld_CommercialAndIndustrialMember_l3TWrBp3HkWZ9bbqfhisyA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001633931</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">bld:EliminationsAndReconcilingItemsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">bld:CommercialAndIndustrialMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2023_To_3_31_2023_srt_ConsolidationItemsAxis_bld_EliminationsAndReconcilingItemsMember_srt_ProductOrServiceAxis_bld_AllOtherProductsMember_HcDaop6gVUGdBVT3S3ZBhQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001633931</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">bld:EliminationsAndReconcilingItemsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">bld:AllOtherProductsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2023_To_3_31_2023_srt_MajorCustomersAxis_bld_ResidentialMember_5N41Eem5bEu5s4fKT46eEA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001633931</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">bld:ResidentialMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2023_To_3_31_2023_srt_ProductOrServiceAxis_bld_RainGuttersMember_8e6JKrlvp0OLdro1HOHeDA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001633931</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">bld:RainGuttersMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2023_To_3_31_2023_srt_ProductOrServiceAxis_bld_InsulationAndAccessoriesMember_L5LZUP6RMEGnhSJNnaUp1A">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001633931</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">bld:InsulationAndAccessoriesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2023_To_3_31_2023_srt_ProductOrServiceAxis_bld_GlassAndWindowsMember_cntT6-h4SE-cLpqU3KXwsw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001633931</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">bld:GlassAndWindowsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2023_To_3_31_2023_srt_ConsolidationItemsAxis_bld_EliminationsAndReconcilingItemsMember_xw6hySBBTUaxt494YNJgiw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001633931</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">bld:EliminationsAndReconcilingItemsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2023_To_3_31_2023_srt_MajorCustomersAxis_bld_CommercialAndIndustrialMember_2ltJXfAl4kOb_mE9BLsP7Q">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001633931</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">bld:CommercialAndIndustrialMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2023_To_3_31_2023_srt_ProductOrServiceAxis_bld_AllOtherProductsMember_jJ2egjp9UUiJ-j3WTIZqgA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001633931</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">bld:AllOtherProductsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2022_To_3_31_2022_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_srt_MajorCustomersAxis_bld_ResidentialMember_us-gaap_StatementBusinessSegmentsAxis_bld_InstallationSegmentMember_NFbyySvUPkCsJfUd-XqkiA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001633931</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">bld:ResidentialMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">bld:InstallationSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-03-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2022_To_3_31_2022_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_srt_MajorCustomersAxis_bld_ResidentialMember_us-gaap_StatementBusinessSegmentsAxis_bld_DistributionSegmentMember_lze11hWxMEi_fU2CVT-zkQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001633931</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">bld:ResidentialMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">bld:DistributionSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-03-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2022_To_3_31_2022_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_srt_ProductOrServiceAxis_bld_RainGuttersMember_us-gaap_StatementBusinessSegmentsAxis_bld_InstallationSegmentMember_iPBtGyRvK0-AFg1CyvjKYg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001633931</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">bld:RainGuttersMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">bld:InstallationSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-03-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2022_To_3_31_2022_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_srt_ProductOrServiceAxis_bld_RainGuttersMember_us-gaap_StatementBusinessSegmentsAxis_bld_DistributionSegmentMember_Ek2F0THkAk-RTj7FVRH4DQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001633931</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">bld:RainGuttersMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">bld:DistributionSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-03-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2022_To_3_31_2022_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_srt_ProductOrServiceAxis_bld_InsulationAndAccessoriesMember_us-gaap_StatementBusinessSegmentsAxis_bld_InstallationSegmentMember_QReZvRj-hU-I3P_KcWapzg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001633931</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">bld:InsulationAndAccessoriesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">bld:InstallationSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-03-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2022_To_3_31_2022_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_srt_ProductOrServiceAxis_bld_InsulationAndAccessoriesMember_us-gaap_StatementBusinessSegmentsAxis_bld_DistributionSegmentMember_k5s7Ov2MNkOrjMg3RtUbKA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001633931</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">bld:InsulationAndAccessoriesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">bld:DistributionSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-03-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2022_To_3_31_2022_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_srt_ProductOrServiceAxis_bld_GlassAndWindowsMember_us-gaap_StatementBusinessSegmentsAxis_bld_InstallationSegmentMember_pKvFAuIKkkqeJMhSaaVq9A">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001633931</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">bld:GlassAndWindowsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">bld:InstallationSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-03-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2022_To_3_31_2022_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_srt_MajorCustomersAxis_bld_CommercialAndIndustrialMember_us-gaap_StatementBusinessSegmentsAxis_bld_InstallationSegmentMember_aw4uv_k6I06yoaSPOa2KPA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001633931</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">bld:CommercialAndIndustrialMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">bld:InstallationSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-03-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2022_To_3_31_2022_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_srt_MajorCustomersAxis_bld_CommercialAndIndustrialMember_us-gaap_StatementBusinessSegmentsAxis_bld_DistributionSegmentMember_y2omgkBKmE-jk2I6gK5d_w">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001633931</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">bld:CommercialAndIndustrialMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">bld:DistributionSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-03-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2022_To_3_31_2022_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_srt_ProductOrServiceAxis_bld_AllOtherProductsMember_us-gaap_StatementBusinessSegmentsAxis_bld_InstallationSegmentMember_zfYn5aLYMUyQD4u_hnEL4A">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001633931</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">bld:AllOtherProductsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">bld:InstallationSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-03-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2022_To_3_31_2022_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_srt_ProductOrServiceAxis_bld_AllOtherProductsMember_us-gaap_StatementBusinessSegmentsAxis_bld_DistributionSegmentMember_REyE7sf8pUaefnGqFfBj_Q">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001633931</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">bld:AllOtherProductsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">bld:DistributionSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-03-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2022_To_3_31_2022_srt_ConsolidationItemsAxis_bld_EliminationsAndReconcilingItemsMember_srt_MajorCustomersAxis_bld_ResidentialMember_ydzOmEY-fk-yMuuMCfgUMg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001633931</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">bld:EliminationsAndReconcilingItemsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">bld:ResidentialMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-03-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2022_To_3_31_2022_srt_ConsolidationItemsAxis_bld_EliminationsAndReconcilingItemsMember_srt_ProductOrServiceAxis_bld_RainGuttersMember_ga29bOwVn0SpCfIv5Zyn2g">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001633931</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">bld:EliminationsAndReconcilingItemsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">bld:RainGuttersMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-03-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2022_To_3_31_2022_srt_ConsolidationItemsAxis_bld_EliminationsAndReconcilingItemsMember_srt_ProductOrServiceAxis_bld_InsulationAndAccessoriesMember_9TA4C2yswUq_MhmHylURnQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001633931</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">bld:EliminationsAndReconcilingItemsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">bld:InsulationAndAccessoriesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-03-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2022_To_3_31_2022_srt_ConsolidationItemsAxis_bld_EliminationsAndReconcilingItemsMember_srt_MajorCustomersAxis_bld_CommercialAndIndustrialMember_Z08hTr-APkGnb1QEQOH7ig">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001633931</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">bld:EliminationsAndReconcilingItemsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">bld:CommercialAndIndustrialMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-03-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2022_To_3_31_2022_srt_ConsolidationItemsAxis_bld_EliminationsAndReconcilingItemsMember_srt_ProductOrServiceAxis_bld_AllOtherProductsMember_fWytx25M-kuxwriuez2Iow">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001633931</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">bld:EliminationsAndReconcilingItemsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">bld:AllOtherProductsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-03-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2022_To_3_31_2022_srt_MajorCustomersAxis_bld_ResidentialMember_Ffpufus4TkuHFL9VfWYCpA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001633931</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">bld:ResidentialMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-03-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2022_To_3_31_2022_srt_ProductOrServiceAxis_bld_RainGuttersMember_o9PUXKrBikSA4fF9MpRzyw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001633931</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">bld:RainGuttersMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-03-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2022_To_3_31_2022_srt_ProductOrServiceAxis_bld_InsulationAndAccessoriesMember_zKriEKongU6nXLrngCbm0A">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001633931</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">bld:InsulationAndAccessoriesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-03-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2022_To_3_31_2022_srt_ProductOrServiceAxis_bld_GlassAndWindowsMember_cPIg16c4T0uxKhIbAzLcOQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001633931</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">bld:GlassAndWindowsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-03-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2022_To_3_31_2022_srt_ConsolidationItemsAxis_bld_EliminationsAndReconcilingItemsMember_ebPp6BUowk-vYsFfG3_Cew">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001633931</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">bld:EliminationsAndReconcilingItemsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-03-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2022_To_3_31_2022_srt_MajorCustomersAxis_bld_CommercialAndIndustrialMember_81zU0sk_KUmUaSYu8r0Ajw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001633931</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">bld:CommercialAndIndustrialMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-03-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2022_To_3_31_2022_srt_ProductOrServiceAxis_bld_AllOtherProductsMember_ZQ4WTqe_7EmxkByY0n2bGA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001633931</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">bld:AllOtherProductsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-03-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2023_To_3_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_AeIMe7p5lU-XYw7PaedL0A">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001633931</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2022_To_3_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_xnmDuIYJzUOQlDKBdXWHog">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001633931</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-03-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2023_To_3_31_2023_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_bld_InstallationSegmentMember_p7381by8A0iuH_K9pq6dkA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001633931</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">bld:InstallationSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2023_To_3_31_2023_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_bld_DistributionSegmentMember_npMAeLxndk2Y3vlwNf6M1Q">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001633931</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">bld:DistributionSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2023_To_3_31_2023_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_e6Vbhcmha0OvoC_c8bkFFg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001633931</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2023_To_3_31_2023_srt_ConsolidationItemsAxis_us-gaap_IntersegmentEliminationMember_OSnOoe8YMEG4QEekdapXgQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001633931</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:IntersegmentEliminationMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2022_To_3_31_2022_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_bld_InstallationSegmentMember_P5TLAe2eDUmNeH4h43zM0A">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001633931</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">bld:InstallationSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-03-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2022_To_3_31_2022_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_bld_DistributionSegmentMember_a9OaAUHgnEO4Vuy42sZdWA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001633931</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">bld:DistributionSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-03-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2022_To_3_31_2022_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_hukAPRnnmUSUm_qzI6sjrg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001633931</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-03-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2022_To_3_31_2022_srt_ConsolidationItemsAxis_us-gaap_IntersegmentEliminationMember_liO-tbyRL0OUMaNmtzOQRA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001633931</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:IntersegmentEliminationMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-03-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2023_To_3_31_2023_srt_ConsolidationItemsAxis_us-gaap_CorporateNonSegmentMember_c5sw8fixpE21iMoO3Tt6xw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001633931</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:CorporateNonSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2022_To_3_31_2022_srt_ConsolidationItemsAxis_us-gaap_CorporateNonSegmentMember_HVg0NYO990KhlMREqMnCYA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001633931</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:CorporateNonSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-03-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2023_To_3_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_g_wEOy27YUOE8eQFhGsziQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001633931</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2022_To_3_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_ZcDfzUxETUOxPY4XBVDg7Q">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001633931</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-03-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2023_To_3_31_2023_srt_RangeAxis_srt_MinimumMember_us-gaap_ShortTermDebtTypeAxis_us-gaap_RevolvingCreditFacilityMember_Dbxl61N7BEeoGZzlKOJO5w">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001633931</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ShortTermDebtTypeAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2023_To_3_31_2023_srt_RangeAxis_srt_MaximumMember_us-gaap_ShortTermDebtTypeAxis_us-gaap_RevolvingCreditFacilityMember_2RGvF6mMx02qxoG5rj4u9Q">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001633931</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ShortTermDebtTypeAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="As_Of_3_31_2023_us-gaap_DebtInstrumentAxis_bld_AmendedCreditAgreementDecember2022Member_us-gaap_LongtermDebtTypeAxis_us-gaap_SecuredDebtMember_GtTMZxo2F0mhtqH3ASSO6w">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001633931</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">bld:AmendedCreditAgreementDecember2022Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:SecuredDebtMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-03-31</instant>
        </period>
    </context>
    <context id="As_Of_3_31_2023_us-gaap_ShortTermDebtTypeAxis_us-gaap_RevolvingCreditFacilityMember_sKkpc3fQb0-OaFzOj3p_hw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001633931</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ShortTermDebtTypeAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-03-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2022_us-gaap_ShortTermDebtTypeAxis_us-gaap_RevolvingCreditFacilityMember_1af6wDhXIkqwLcOiWRsVRg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001633931</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ShortTermDebtTypeAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="Duration_1_1_2023_To_3_31_2023_us-gaap_StatementBusinessSegmentsAxis_bld_InstallationSegmentMember_LSg-I_e7e0eU_UM9eCLOVg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001633931</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">bld:InstallationSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="Duration_10_1_2022_To_12_31_2022_jfm3OEh2x0KwHgbOrODRyQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001633931</identifier>
        </entity>
        <period>
            <startDate>2022-10-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="As_Of_12_31_2022_us-gaap_StatementBusinessSegmentsAxis_bld_InstallationSegmentMember_ogEtAVcqp0aGFLw3VsnIQQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001633931</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">bld:InstallationSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2022_us-gaap_StatementBusinessSegmentsAxis_bld_DistributionSegmentMember_DO7bpAz7EUGawl7o6a19Iw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001633931</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">bld:DistributionSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="Duration_1_1_2023_To_3_31_2023_us-gaap_StatementBusinessSegmentsAxis_bld_DistributionSegmentMember_mqy8JDX5XUmTtMIA3VlKgw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001633931</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">bld:DistributionSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="Duration_2_23_2022_To_2_23_2022_us-gaap_BusinessAcquisitionAxis_bld_BillingsInsulationServiceInc.Member_Pshe7EaeS0-Oyt4mLUscag">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001633931</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">bld:BillingsInsulationServiceInc.Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-02-23</startDate>
            <endDate>2022-02-23</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2022_To_3_31_2022_us-gaap_BusinessAcquisitionAxis_us-gaap_SeriesOfIndividuallyImmaterialBusinessAcquisitionsMember_q6UeZXiAL06a3rbU9Kgdmg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001633931</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">us-gaap:SeriesOfIndividuallyImmaterialBusinessAcquisitionsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-03-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2022_To_3_31_2022_us-gaap_BusinessAcquisitionAxis_bld_Acquisitions2022Member_nqN1YfNvu0qGN9sc0Tbtiw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001633931</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">bld:Acquisitions2022Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-03-31</endDate>
        </period>
    </context>
    <context id="As_Of_3_31_2023_us-gaap_StatementBusinessSegmentsAxis_bld_InstallationSegmentMember_vPQxpqKcL0m10SFQKEyjIg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001633931</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">bld:InstallationSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-03-31</instant>
        </period>
    </context>
    <context id="As_Of_3_31_2023_us-gaap_StatementBusinessSegmentsAxis_bld_DistributionSegmentMember_Bg3lQcXgdk6c3ZO8up_n_g">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001633931</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">bld:DistributionSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-03-31</instant>
        </period>
    </context>
    <context id="As_Of_1_26_2023_-udp3RObVE6S73XWB9r0EQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001633931</identifier>
        </entity>
        <period>
            <instant>2023-01-26</instant>
        </period>
    </context>
    <context id="As_Of_3_31_2023_us-gaap_AwardTypeAxis_us-gaap_EmployeeStockOptionMember_JYX_mBWuXk6uTfGNYEC3QQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001633931</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-03-31</instant>
        </period>
    </context>
    <context id="As_Of_3_31_2023_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockMember_gi0zPp63_UKnfJcl0TQvyQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001633931</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-03-31</instant>
        </period>
    </context>
    <context id="Duration_1_1_2023_To_3_31_2023_us-gaap_LongtermDebtTypeAxis_bld_EquipmentNotesMember_38hIL-nurk-bWvbPSWuPhw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001633931</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">bld:EquipmentNotesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2023_To_3_31_2023_srt_RangeAxis_srt_MaximumMember_srt_StatementScenarioAxis_bld_DebtInstrumentRedemptionOptionTwoMember_us-gaap_DebtInstrumentAxis_bld_SeniorNotesDue2029Member_us-gaap_DebtInstrumentRedemptionPeriodAxis_us-gaap_DebtInstrumentRedemptionPeriodOneMember_Qng4sg2WhkOsz-Y-k_kiQA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001633931</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementScenarioAxis">bld:DebtInstrumentRedemptionOptionTwoMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">bld:SeniorNotesDue2029Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentRedemptionPeriodAxis">us-gaap:DebtInstrumentRedemptionPeriodOneMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2023_To_3_31_2023_srt_StatementScenarioAxis_bld_DebtInstrumentRedemptionOptionOneMember_us-gaap_DebtInstrumentAxis_bld_SeniorNotesDue2029Member_us-gaap_DebtInstrumentRedemptionPeriodAxis_us-gaap_DebtInstrumentRedemptionPeriodOneMember_sEFQPw4nBUudNRhTU7pKow">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001633931</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementScenarioAxis">bld:DebtInstrumentRedemptionOptionOneMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">bld:SeniorNotesDue2029Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentRedemptionPeriodAxis">us-gaap:DebtInstrumentRedemptionPeriodOneMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2023_To_3_31_2023_us-gaap_DebtInstrumentAxis_bld_SeniorNotesDue2032Member_us-gaap_DebtInstrumentRedemptionPeriodAxis_us-gaap_DebtInstrumentRedemptionPeriodTwoMember_Uf2SNkmu_UCzFdtYb5gYiA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001633931</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">bld:SeniorNotesDue2032Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentRedemptionPeriodAxis">us-gaap:DebtInstrumentRedemptionPeriodTwoMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2023_To_3_31_2023_us-gaap_DebtInstrumentAxis_bld_SeniorNotesDue2032Member_us-gaap_DebtInstrumentRedemptionPeriodAxis_us-gaap_DebtInstrumentRedemptionPeriodThreeMember_N6gkmcD8rk-8DZDJ_hb7qw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001633931</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">bld:SeniorNotesDue2032Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentRedemptionPeriodAxis">us-gaap:DebtInstrumentRedemptionPeriodThreeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2023_To_3_31_2023_us-gaap_DebtInstrumentAxis_bld_SeniorNotesDue2032Member_us-gaap_DebtInstrumentRedemptionPeriodAxis_us-gaap_DebtInstrumentRedemptionPeriodFourMember_LXkwlZf-VEaa26BHzD7nGg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001633931</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">bld:SeniorNotesDue2032Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentRedemptionPeriodAxis">us-gaap:DebtInstrumentRedemptionPeriodFourMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2023_To_3_31_2023_us-gaap_DebtInstrumentAxis_bld_SeniorNotesDue2032Member_us-gaap_DebtInstrumentRedemptionPeriodAxis_us-gaap_DebtInstrumentRedemptionPeriodFiveMember_CbXd6uRwOkejk9hh_PWcpA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001633931</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">bld:SeniorNotesDue2032Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentRedemptionPeriodAxis">us-gaap:DebtInstrumentRedemptionPeriodFiveMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2023_To_3_31_2023_srt_StatementScenarioAxis_bld_ChangeInControlScenarioMember_us-gaap_DebtInstrumentAxis_bld_SeniorNotesDue2032Member_ovCTkehJLk2CCnOsFEkaeQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001633931</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementScenarioAxis">bld:ChangeInControlScenarioMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">bld:SeniorNotesDue2032Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2023_To_3_31_2023_srt_StatementScenarioAxis_bld_ChangeInControlScenarioMember_us-gaap_DebtInstrumentAxis_bld_SeniorNotesDue2029Member_8bJwG2vTOE2tQdDW0urVWQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001633931</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementScenarioAxis">bld:ChangeInControlScenarioMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">bld:SeniorNotesDue2029Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2023_To_3_31_2023_us-gaap_DebtInstrumentAxis_bld_AmendedCreditAgreementDecember2022Member_dUZnXEjACUOqenPIzQv7xA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001633931</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">bld:AmendedCreditAgreementDecember2022Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="As_Of_3_31_2023_srt_RangeAxis_srt_MinimumMember_us-gaap_LongtermDebtTypeAxis_bld_EquipmentNotesMember_4MaAYR9PWEaXbwn81Fwg-A">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001633931</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">bld:EquipmentNotesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-03-31</instant>
        </period>
    </context>
    <context id="As_Of_3_31_2023_srt_RangeAxis_srt_MaximumMember_us-gaap_LongtermDebtTypeAxis_bld_EquipmentNotesMember_prYnYqy7Z0OOQcGXKxoX2g">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001633931</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">bld:EquipmentNotesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-03-31</instant>
        </period>
    </context>
    <context id="As_Of_3_31_2023_us-gaap_DebtInstrumentAxis_bld_SeniorNotesDue2032Member_us-gaap_FairValueByFairValueHierarchyLevelAxis_us-gaap_FairValueInputsLevel1Member_us-gaap_FairValueByMeasurementFrequencyAxis_us-gaap_FairValueMeasurementsNonrecurringMember_LshrsCbxZU-qxa8vQD6lCw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001633931</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">bld:SeniorNotesDue2032Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsNonrecurringMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-03-31</instant>
        </period>
    </context>
    <context id="As_Of_3_31_2023_us-gaap_DebtInstrumentAxis_bld_SeniorNotesDue2029Member_us-gaap_FairValueByFairValueHierarchyLevelAxis_us-gaap_FairValueInputsLevel1Member_us-gaap_FairValueByMeasurementFrequencyAxis_us-gaap_FairValueMeasurementsNonrecurringMember_Vn-k2wVUmUWYtrxkKGQteA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001633931</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">bld:SeniorNotesDue2029Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsNonrecurringMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-03-31</instant>
        </period>
    </context>
    <context id="As_Of_3_31_2023_us-gaap_LongtermDebtTypeAxis_us-gaap_SecuredDebtMember_bs9MyfF_3EG8x_GCCXvppw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001633931</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:SecuredDebtMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-03-31</instant>
        </period>
    </context>
    <context id="As_Of_3_31_2023_us-gaap_DebtInstrumentAxis_bld_SeniorNotesDue2032Member_wZRT4AY8v0CM8wazDvvqiw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001633931</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">bld:SeniorNotesDue2032Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-03-31</instant>
        </period>
    </context>
    <context id="As_Of_3_31_2023_us-gaap_DebtInstrumentAxis_bld_SeniorNotesDue2029Member_DOM61O-9RkadksBpNLIELQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001633931</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">bld:SeniorNotesDue2029Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-03-31</instant>
        </period>
    </context>
    <context id="As_Of_3_31_2023_us-gaap_LongtermDebtTypeAxis_bld_EquipmentNotesMember_CzofN1GTuUe3vubWUs9Peg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001633931</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">bld:EquipmentNotesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-03-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2022_us-gaap_LongtermDebtTypeAxis_us-gaap_SecuredDebtMember_Drf3hjFYok-EO9LwVlgQZQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001633931</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:SecuredDebtMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2022_us-gaap_LongtermDebtTypeAxis_bld_SeniorNotesDue2032Member_LYay9YrBtEuYzymdz-Gjcw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001633931</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">bld:SeniorNotesDue2032Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2022_us-gaap_LongtermDebtTypeAxis_bld_SeniorNotesDue2029Member_P-zVb6WG90S3kOqpODQxTg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001633931</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">bld:SeniorNotesDue2029Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2022_us-gaap_LongtermDebtTypeAxis_bld_EquipmentNotesMember_BrxivjoGsES5f9i33thXHQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001633931</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">bld:EquipmentNotesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="Duration_1_1_2023_To_3_31_2023_us-gaap_CreditFacilityAxis_bld_BaseRateBorrowingsMember_us-gaap_DebtInstrumentAxis_bld_AmendedCreditAgreementDecember2022Member_us-gaap_VariableRateAxis_bld_FederalFundsRateMember_2isN064HNUSL501Hs3TD5g">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001633931</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">bld:BaseRateBorrowingsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">bld:AmendedCreditAgreementDecember2022Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">bld:FederalFundsRateMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="As_Of_3_31_2023_us-gaap_BalanceSheetLocationAxis_us-gaap_AccruedLiabilitiesMember_YtTS19248ECVOj5oYwZIvw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001633931</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BalanceSheetLocationAxis">us-gaap:AccruedLiabilitiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-03-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2022_us-gaap_BalanceSheetLocationAxis_us-gaap_AccruedLiabilitiesMember_fbKXh7_lZ0Wz_E4UrRbZJw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001633931</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BalanceSheetLocationAxis">us-gaap:AccruedLiabilitiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="As_Of_3_31_2023_us-gaap_BalanceSheetLocationAxis_bld_ReceivablesNetMember_8cEgtfuIgE2dSs8eHeX7rw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001633931</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BalanceSheetLocationAxis">bld:ReceivablesNetMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-03-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2022_us-gaap_BalanceSheetLocationAxis_bld_ReceivablesNetMember_gEHjoQLLCUeBknQu80_2JA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001633931</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BalanceSheetLocationAxis">bld:ReceivablesNetMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2021_E3XLgxKuqkG3H9Q0OJ-D2w">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001633931</identifier>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="Duration_1_26_2023_To_1_26_2023_us-gaap_BusinessAcquisitionAxis_bld_SriHoldingsMember_nTTMPP_zqEyg1SIj1QMP8w">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001633931</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">bld:SriHoldingsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-26</startDate>
            <endDate>2023-01-26</endDate>
        </period>
    </context>
    <context id="As_Of_3_31_2022__Zk_lDEdHEWJ823DIF3NZg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001633931</identifier>
        </entity>
        <period>
            <instant>2022-03-31</instant>
        </period>
    </context>
    <context id="Duration_1_1_2023_To_3_31_2023_bld_VestingCriteriaAxis_bld_VestingBasedOnServiceMember_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_us-gaap_RestrictedStockMember_x6XnFpPuXEuV3fGq4ddeyA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001633931</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">us-gaap:RestrictedStockMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="bld:VestingCriteriaAxis">bld:VestingBasedOnServiceMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2023_To_3_31_2023_bld_VestingCriteriaAxis_bld_VestingBasedOnMarketConditionsMember_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_us-gaap_RestrictedStockMember_FALY4h_Bg0uKOBzLGkgxfQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001633931</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">us-gaap:RestrictedStockMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="bld:VestingCriteriaAxis">bld:VestingBasedOnMarketConditionsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2023_To_3_31_2023_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_us-gaap_EmployeeStockOptionMember_JTF_nuG900CtkAmFVcr1wA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001633931</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2022_To_3_31_2022_bld_VestingCriteriaAxis_bld_VestingBasedOnServiceMember_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_us-gaap_RestrictedStockMember_Pcsj0KvvGEe1syeIDuQieA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001633931</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">us-gaap:RestrictedStockMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="bld:VestingCriteriaAxis">bld:VestingBasedOnServiceMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-03-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2022_To_3_31_2022_bld_VestingCriteriaAxis_bld_VestingBasedOnPerformanceMember_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_us-gaap_RestrictedStockMember_iSBcQfCa80aJcCmonmGW2g">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001633931</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">us-gaap:RestrictedStockMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="bld:VestingCriteriaAxis">bld:VestingBasedOnPerformanceMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-03-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2022_To_3_31_2022_bld_VestingCriteriaAxis_bld_VestingBasedOnMarketConditionsMember_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_us-gaap_RestrictedStockMember_BhD1z8gATEeiUokXR7Bfmw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001633931</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">us-gaap:RestrictedStockMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="bld:VestingCriteriaAxis">bld:VestingBasedOnMarketConditionsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-03-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2022_To_3_31_2022_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_us-gaap_EmployeeStockOptionMember_y5429PFFEkO6VyO6sbJmNA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001633931</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-03-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2023_To_3_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_y9ZrgkF20kS6r6S1z861IA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001633931</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2022_To_3_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_YYMAF13PdEy8Y5mQdXKWYA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001633931</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-03-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2023_To_3_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockCommonMember_LmJ5UGKSyEy_y5otnMnfug">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001633931</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockCommonMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="As_Of_4_27_2023_zYQWudLbU0m59NYZ0QZwYg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001633931</identifier>
        </entity>
        <period>
            <instant>2023-04-27</instant>
        </period>
    </context>
    <context id="Duration_1_1_2022_To_3_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockCommonMember_ntDLPWP-Y0eL6UZY-7ZLNg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001633931</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockCommonMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-03-31</endDate>
        </period>
    </context>
    <context id="As_Of_2_21_2023_bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeAxis_bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeTwoMember_bld_VestingCriteriaAxis_bld_VestingBasedOnPerformanceMember_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockMember_l5UG-ysvDk2viXbPGwMbEw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001633931</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="bld:ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeAxis">bld:ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeTwoMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="bld:VestingCriteriaAxis">bld:VestingBasedOnPerformanceMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-02-21</instant>
        </period>
    </context>
    <context id="As_Of_2_21_2023_bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeAxis_bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeThreeMember_bld_VestingCriteriaAxis_bld_VestingBasedOnPerformanceMember_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockMember_0-WmCsYgt0qXtbmsAf9p7Q">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001633931</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="bld:ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeAxis">bld:ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeThreeMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="bld:VestingCriteriaAxis">bld:VestingBasedOnPerformanceMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-02-21</instant>
        </period>
    </context>
    <context id="As_Of_2_21_2023_bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeAxis_bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeOneMember_bld_VestingCriteriaAxis_bld_VestingBasedOnPerformanceMember_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockMember_IO3StBpGPEaMgNYwkFi3Mg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001633931</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="bld:ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeAxis">bld:ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeOneMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="bld:VestingCriteriaAxis">bld:VestingBasedOnPerformanceMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-02-21</instant>
        </period>
    </context>
    <context id="As_Of_2_21_2023_bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeAxis_bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeFourMember_bld_VestingCriteriaAxis_bld_VestingBasedOnPerformanceMember_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockMember_jbDpA-QgMkKdsvXRK4OAKQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001633931</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="bld:ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeAxis">bld:ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeFourMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="bld:VestingCriteriaAxis">bld:VestingBasedOnPerformanceMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-02-21</instant>
        </period>
    </context>
    <context id="As_Of_2_15_2022_bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeAxis_bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeTwoMember_bld_VestingCriteriaAxis_bld_VestingBasedOnPerformanceMember_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockMember_gzkUEjuqbUGHUIaU2L0iqQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001633931</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="bld:ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeAxis">bld:ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeTwoMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="bld:VestingCriteriaAxis">bld:VestingBasedOnPerformanceMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-02-15</instant>
        </period>
    </context>
    <context id="As_Of_2_15_2022_bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeAxis_bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeThreeMember_bld_VestingCriteriaAxis_bld_VestingBasedOnPerformanceMember_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockMember_69B2qlpGiUyrS2sGtwV1Rg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001633931</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="bld:ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeAxis">bld:ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeThreeMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="bld:VestingCriteriaAxis">bld:VestingBasedOnPerformanceMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-02-15</instant>
        </period>
    </context>
    <context id="As_Of_2_15_2022_bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeAxis_bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeOneMember_bld_VestingCriteriaAxis_bld_VestingBasedOnPerformanceMember_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockMember_FfGxCaBFRUiinAvspDeYjw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001633931</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="bld:ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeAxis">bld:ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeOneMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="bld:VestingCriteriaAxis">bld:VestingBasedOnPerformanceMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-02-15</instant>
        </period>
    </context>
    <context id="As_Of_2_15_2022_bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeAxis_bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeFourMember_bld_VestingCriteriaAxis_bld_VestingBasedOnPerformanceMember_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockMember_20pQ2vjZmkSA5Dupjdkg8w">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001633931</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="bld:ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeAxis">bld:ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeFourMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="bld:VestingCriteriaAxis">bld:VestingBasedOnPerformanceMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-02-15</instant>
        </period>
    </context>
    <context id="As_Of_2_16_2021_bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeAxis_bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeTwoMember_bld_VestingCriteriaAxis_bld_VestingBasedOnPerformanceMember_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockMember_wQlfxRhuEEiIk1YVEIupOg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001633931</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="bld:ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeAxis">bld:ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeTwoMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="bld:VestingCriteriaAxis">bld:VestingBasedOnPerformanceMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-02-16</instant>
        </period>
    </context>
    <context id="As_Of_2_16_2021_bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeAxis_bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeThreeMember_bld_VestingCriteriaAxis_bld_VestingBasedOnPerformanceMember_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockMember_OmmzHBSRv0KhXVLpnBFIfg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001633931</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="bld:ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeAxis">bld:ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeThreeMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="bld:VestingCriteriaAxis">bld:VestingBasedOnPerformanceMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-02-16</instant>
        </period>
    </context>
    <context id="As_Of_2_16_2021_bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeAxis_bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeOneMember_bld_VestingCriteriaAxis_bld_VestingBasedOnPerformanceMember_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockMember_TQ1nMhAYWki37seY7smhhQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001633931</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="bld:ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeAxis">bld:ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeOneMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="bld:VestingCriteriaAxis">bld:VestingBasedOnPerformanceMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-02-16</instant>
        </period>
    </context>
    <context id="As_Of_2_16_2021_bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeAxis_bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeFourMember_bld_VestingCriteriaAxis_bld_VestingBasedOnPerformanceMember_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockMember_qn3f1xhgzU-6EowhoDebyQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001633931</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="bld:ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeAxis">bld:ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeFourMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="bld:VestingCriteriaAxis">bld:VestingBasedOnPerformanceMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-02-16</instant>
        </period>
    </context>
    <context id="Duration_2_21_2023_To_2_21_2023_bld_VestingCriteriaAxis_bld_VestingBasedOnPerformanceMember_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockMember__yz4vCyaPU6tUT1ZnQJqww">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001633931</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="bld:VestingCriteriaAxis">bld:VestingBasedOnPerformanceMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-02-21</startDate>
            <endDate>2023-02-21</endDate>
        </period>
    </context>
    <context id="Duration_2_15_2022_To_2_15_2022_bld_VestingCriteriaAxis_bld_VestingBasedOnPerformanceMember_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockMember_Vngc00FGFUGnWHYv4_l1pA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001633931</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="bld:VestingCriteriaAxis">bld:VestingBasedOnPerformanceMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-02-15</startDate>
            <endDate>2022-02-15</endDate>
        </period>
    </context>
    <context id="Duration_2_16_2021_To_2_16_2021_bld_VestingCriteriaAxis_bld_VestingBasedOnPerformanceMember_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockMember_mAR8SC5oNk-LBfrQnVMH1A">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001633931</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="bld:VestingCriteriaAxis">bld:VestingBasedOnPerformanceMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-02-16</startDate>
            <endDate>2021-02-16</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2023_To_3_31_2023_bld_VestingCriteriaAxis_bld_VestingBasedOnPerformanceMember_us-gaap_AwardTypeAxis_bld_RestrictedStockAwardsGrantedFebruary2020Member_JDOLuVdfSUmfI_mfJmb_0w">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001633931</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">bld:RestrictedStockAwardsGrantedFebruary2020Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="bld:VestingCriteriaAxis">bld:VestingBasedOnPerformanceMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2023_To_3_31_2023_us-gaap_AwardTypeAxis_us-gaap_EmployeeStockOptionMember_ra7VRVHhWU2toZSs6t5jSg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001633931</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2022_To_3_31_2022_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockMember_UKkWCt5HdEySMnjbgbyOng">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001633931</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-03-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2023_To_3_31_2023_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockMember_4ijqTyXSBk22efw20Cbhig">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001633931</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2023_To_3_31_2023_bld_VestingCriteriaAxis_bld_VestingBasedOnPerformanceMember_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockMember_kcwD_RKwNEOBF7pNYw0mcA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001633931</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="bld:VestingCriteriaAxis">bld:VestingBasedOnPerformanceMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2023_To_3_31_2023_srt_StatementScenarioAxis_bld_EventOfDefaultScenarioMember_us-gaap_LongtermDebtTypeAxis_us-gaap_SeniorNotesMember_EVRX7VtzGkydUssIcKC12g">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001633931</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementScenarioAxis">bld:EventOfDefaultScenarioMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:SeniorNotesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="As_Of_3_31_2023_us-gaap_LongtermDebtTypeAxis_bld_SeniorNotesDue2032Member_elVgkkQg00Sj-9xwdaEdLA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001633931</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">bld:SeniorNotesDue2032Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-03-31</instant>
        </period>
    </context>
    <context id="As_Of_3_31_2023_us-gaap_LongtermDebtTypeAxis_bld_SeniorNotesDue2029Member_eAdN8VMzyUGhjAJyjAj6Mw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001633931</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">bld:SeniorNotesDue2029Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-03-31</instant>
        </period>
    </context>
    <context id="As_Of_3_31_2023_us-gaap_DebtInstrumentAxis_bld_AmendedCreditAgreementDecember2022Member_us-gaap_ShortTermDebtTypeAxis_us-gaap_RevolvingCreditFacilityMember_US7n4D7r1Um5G-0vFJkevA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001633931</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">bld:AmendedCreditAgreementDecember2022Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ShortTermDebtTypeAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-03-31</instant>
        </period>
    </context>
    <context id="As_Of_3_31_2023_us-gaap_DebtInstrumentAxis_bld_AmendedCreditAgreementDecember2022Member_1yTqinL9CUu7K_P14w9w4w">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001633931</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">bld:AmendedCreditAgreementDecember2022Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-03-31</instant>
        </period>
    </context>
    <context id="Duration_1_1_2022_To_3_31_2022_6vn3vE91T0CiaH7EkBeDAw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001633931</identifier>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-03-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2023_To_3_31_2023_bld_VestingCriteriaAxis_bld_VestingBasedOnServiceMember_196Upr8rOUC8z0WxIbpziQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001633931</identifier>
            <segment>
                <xbrldi:explicitMember dimension="bld:VestingCriteriaAxis">bld:VestingBasedOnServiceMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2023_To_3_31_2023_bld_VestingCriteriaAxis_bld_VestingBasedOnPerformanceMember_WhT4ZtMKAEy67fj6eZw9bw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001633931</identifier>
            <segment>
                <xbrldi:explicitMember dimension="bld:VestingCriteriaAxis">bld:VestingBasedOnPerformanceMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2023_To_3_31_2023_bld_VestingCriteriaAxis_bld_VestingBasedOnMarketConditionsMember_M8R4YOEGykmYSxy0DTQNfQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001633931</identifier>
            <segment>
                <xbrldi:explicitMember dimension="bld:VestingCriteriaAxis">bld:VestingBasedOnMarketConditionsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2022_To_3_31_2022_bld_VestingCriteriaAxis_bld_VestingBasedOnServiceMember_b81sW9t5NkqVPgyYgQhQDQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001633931</identifier>
            <segment>
                <xbrldi:explicitMember dimension="bld:VestingCriteriaAxis">bld:VestingBasedOnServiceMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-03-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2022_To_3_31_2022_bld_VestingCriteriaAxis_bld_VestingBasedOnPerformanceMember_FPfoYbYla06I9BvsmSrwjQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001633931</identifier>
            <segment>
                <xbrldi:explicitMember dimension="bld:VestingCriteriaAxis">bld:VestingBasedOnPerformanceMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-03-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2022_To_3_31_2022_bld_VestingCriteriaAxis_bld_VestingBasedOnMarketConditionsMember_WOts3HCPRUyIrwREZwOb_A">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001633931</identifier>
            <segment>
                <xbrldi:explicitMember dimension="bld:VestingCriteriaAxis">bld:VestingBasedOnMarketConditionsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-03-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2023_To_3_31_2023_us-gaap_CreditFacilityAxis_bld_BaseRateBorrowingsMember_us-gaap_DebtInstrumentAxis_bld_AmendedCreditAgreementDecember2022Member_us-gaap_VariableRateAxis_us-gaap_SecuredOvernightFinancingRateSofrOvernightIndexSwapRateMember_3wsFuSaPSUqVx4842Jk4dw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001633931</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">bld:BaseRateBorrowingsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">bld:AmendedCreditAgreementDecember2022Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">us-gaap:SecuredOvernightFinancingRateSofrOvernightIndexSwapRateMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2023_To_3_31_2023_us-gaap_DebtInstrumentAxis_bld_SeniorNotesDue2032Member_us-gaap_DebtInstrumentRedemptionPeriodAxis_bld_DebtInstrumentRedemptionPeriodSixMember_FWHXZNoK0ECpaOEjmSmchQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001633931</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">bld:SeniorNotesDue2032Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentRedemptionPeriodAxis">bld:DebtInstrumentRedemptionPeriodSixMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2023_To_3_31_2023_us-gaap_CreditFacilityAxis_bld_SofrRateBorrowingsMember_us-gaap_DebtInstrumentAxis_bld_AmendedCreditAgreementDecember2022Member_uEO3yzpci06N4bN594PGJA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001633931</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">bld:SofrRateBorrowingsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">bld:AmendedCreditAgreementDecember2022Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2023_To_3_31_2023_us-gaap_DebtInstrumentAxis_bld_SeniorNotesDue2032Member_us-gaap_DebtInstrumentRedemptionPeriodAxis_bld_DebtInstrumentRedemptionPeriodSevenMember_DYvPsDtYMEqPyF1Xdb-yng">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001633931</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">bld:SeniorNotesDue2032Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentRedemptionPeriodAxis">bld:DebtInstrumentRedemptionPeriodSevenMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2023_To_3_31_2023_srt_StatementScenarioAxis_bld_DebtInstrumentRedemptionOptionTwoMember_us-gaap_DebtInstrumentRedemptionPeriodAxis_us-gaap_DebtInstrumentRedemptionPeriodOneMember_gYS1QElbA06_C_hcxzcVwg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001633931</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementScenarioAxis">bld:DebtInstrumentRedemptionOptionTwoMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentRedemptionPeriodAxis">us-gaap:DebtInstrumentRedemptionPeriodOneMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2023_To_3_31_2023_srt_RangeAxis_srt_MinimumMember_us-gaap_CreditFacilityAxis_bld_SofrRateBorrowingsMember_us-gaap_DebtInstrumentAxis_bld_AmendedCreditAgreementDecember2022Member_qqyoFIJb90-TK4nokPe6YQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001633931</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">bld:SofrRateBorrowingsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">bld:AmendedCreditAgreementDecember2022Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2023_To_3_31_2023_srt_RangeAxis_srt_MinimumMember_us-gaap_CreditFacilityAxis_bld_BaseRateBorrowingsMember_us-gaap_DebtInstrumentAxis_bld_AmendedCreditAgreementDecember2022Member_2mxFiM8-YEGzpqnVMCBdWg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001633931</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">bld:BaseRateBorrowingsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">bld:AmendedCreditAgreementDecember2022Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2023_To_3_31_2023_srt_RangeAxis_srt_MaximumMember_us-gaap_CreditFacilityAxis_bld_SofrRateBorrowingsMember_us-gaap_DebtInstrumentAxis_bld_AmendedCreditAgreementDecember2022Member_24lMMhU0VUyhLuGNOyJ-LA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001633931</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">bld:SofrRateBorrowingsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">bld:AmendedCreditAgreementDecember2022Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2023_To_3_31_2023_srt_RangeAxis_srt_MaximumMember_us-gaap_CreditFacilityAxis_bld_BaseRateBorrowingsMember_us-gaap_DebtInstrumentAxis_bld_AmendedCreditAgreementDecember2022Member_myYgiyHSo0iyzP0cBPMYqA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001633931</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">bld:BaseRateBorrowingsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">bld:AmendedCreditAgreementDecember2022Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001633931</identifier>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="As_Of_3_31_2023_if5iG1tra0aH_pegPPBopw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001633931</identifier>
        </entity>
        <period>
            <instant>2023-03-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2022_3M6K0OeVvUOHwft-0BiHjg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001633931</identifier>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <unit id="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">
        <measure>iso4217:USD</measure>
    </unit>
    <unit id="Unit_Standard_pure_AMt-SnY1f0Gk50TcxvjL4w">
        <measure>pure</measure>
    </unit>
    <unit id="Unit_Standard_shares_eiECwuXP0kO6JM1Li4xT6g">
        <measure>shares</measure>
    </unit>
    <unit id="Unit_Divide_USD_shares_imdDf3-8d0qa5ZDAI6M6QA">
        <divide>
            <unitNumerator>
                <measure>iso4217:USD</measure>
            </unitNumerator>
            <unitDenominator>
                <measure>shares</measure>
            </unitDenominator>
        </divide>
    </unit>
    <unit id="Unit_Standard_segment_HCZxDtsxZkOWPezqk_jBvQ">
        <measure>bld:segment</measure>
    </unit>
    <unit id="Unit_Standard_item_GJgK42ZUUEmNd0DcF3veSw">
        <measure>bld:item</measure>
    </unit>
    <us-gaap:CommitmentsAndContingencies
      contextRef="As_Of_3_31_2023_if5iG1tra0aH_pegPPBopw"
      id="Hidden_j_Ruylp4Y0uIHiPyoIYkGQ"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw"
      xsi:nil="true"/>
    <us-gaap:CommitmentsAndContingencies
      contextRef="As_Of_12_31_2022_3M6K0OeVvUOHwft-0BiHjg"
      id="Hidden_KH344pyJa0eqdmeQXT48DQ"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw"
      xsi:nil="true"/>
    <us-gaap:PreferredStockSharesOutstanding
      contextRef="As_Of_3_31_2023_if5iG1tra0aH_pegPPBopw"
      decimals="INF"
      id="Hidden_mbabtP8z_06fRNgigLOdUw"
      unitRef="Unit_Standard_shares_eiECwuXP0kO6JM1Li4xT6g">0</us-gaap:PreferredStockSharesOutstanding>
    <us-gaap:PreferredStockSharesOutstanding
      contextRef="As_Of_12_31_2022_3M6K0OeVvUOHwft-0BiHjg"
      decimals="INF"
      id="Hidden_1qCOkHEg6EuGtA0zh0MhkA"
      unitRef="Unit_Standard_shares_eiECwuXP0kO6JM1Li4xT6g">0</us-gaap:PreferredStockSharesOutstanding>
    <us-gaap:PreferredStockValue
      contextRef="As_Of_3_31_2023_if5iG1tra0aH_pegPPBopw"
      id="Hidden_9TbH8kT2gUGuvZK8ypPxVg"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw"
      xsi:nil="true"/>
    <us-gaap:PreferredStockValue
      contextRef="As_Of_12_31_2022_3M6K0OeVvUOHwft-0BiHjg"
      id="Hidden_0Vczj41DDEyEU5LzRnVNWA"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw"
      xsi:nil="true"/>
    <dei:EntityCentralIndexKey
      contextRef="Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA"
      id="Narr_0xwNxiB0gEy1bl1W3QdI9g">0001633931</dei:EntityCentralIndexKey>
    <dei:AmendmentFlag
      contextRef="Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA"
      id="Narr_gp2a7XsVM0uFJKDusIUdUw">false</dei:AmendmentFlag>
    <dei:CurrentFiscalYearEndDate
      contextRef="Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA"
      id="Narr_Xk_RsyJSrUqb4WaJLvSVDw">--12-31</dei:CurrentFiscalYearEndDate>
    <dei:DocumentFiscalYearFocus
      contextRef="Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA"
      id="Narr_32eUmmzKtEy4CZ_--I356w">2023</dei:DocumentFiscalYearFocus>
    <dei:DocumentFiscalPeriodFocus
      contextRef="Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA"
      id="Narr_orRg0zqx-EW1miGmEgKU5w">Q1</dei:DocumentFiscalPeriodFocus>
    <dei:DocumentType
      contextRef="Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA"
      id="Narr_v0UE8qLcHEStNhiyODdt7Q">10-Q</dei:DocumentType>
    <dei:DocumentQuarterlyReport
      contextRef="Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA"
      id="Tc_JgJmxV4j2UyE773X1Ij5gg_2_0">true</dei:DocumentQuarterlyReport>
    <dei:DocumentPeriodEndDate
      contextRef="Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA"
      id="Narr_WJcHSwOxeEScrJRB3tMjcQ">2023-03-31</dei:DocumentPeriodEndDate>
    <dei:DocumentTransitionReport
      contextRef="Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA"
      id="Tc_j26VP0VSeEqDEW7DR0Afwg_1_0">false</dei:DocumentTransitionReport>
    <dei:EntityFileNumber
      contextRef="Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA"
      id="Narr_n-igQvkkUEaCay42MjeVZw">001-36870</dei:EntityFileNumber>
    <dei:EntityRegistrantName
      contextRef="Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA"
      id="Narr_eH9C7bjV1E66jQXlug4BCQ">TopBuild Corp</dei:EntityRegistrantName>
    <dei:EntityIncorporationStateCountryCode
      contextRef="Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA"
      id="Narr_HyUCTBtXXkaspbplXd71Ng">DE</dei:EntityIncorporationStateCountryCode>
    <dei:EntityTaxIdentificationNumber
      contextRef="Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA"
      id="Narr_gKd7RNMnoE2suQe6V4RlCA">47-3096382</dei:EntityTaxIdentificationNumber>
    <dei:EntityAddressAddressLine1
      contextRef="Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA"
      id="Narr__Yf91L9tuUS-MjOWOaKGCg">475 North Williamson Boulevard</dei:EntityAddressAddressLine1>
    <dei:EntityAddressCityOrTown
      contextRef="Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA"
      id="Narr_3iyka59nqEmGuDS2NvpGow">Daytona Beach</dei:EntityAddressCityOrTown>
    <dei:EntityAddressStateOrProvince
      contextRef="Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA"
      id="Narr_zeezFJ-eqkuAba91LirRig">FL</dei:EntityAddressStateOrProvince>
    <dei:EntityAddressPostalZipCode
      contextRef="Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA"
      id="Narr_tgHOJIV5uEGNvQqDlYvhtw">32114</dei:EntityAddressPostalZipCode>
    <dei:CityAreaCode
      contextRef="Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA"
      id="Narr_QR6EUMkIHEOMxEUxiw2rJw">386</dei:CityAreaCode>
    <dei:LocalPhoneNumber
      contextRef="Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA"
      id="Narr_DBai_itS3E2otSTECaNsGQ">304-2200</dei:LocalPhoneNumber>
    <dei:Security12bTitle
      contextRef="Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA"
      id="Tc_kcidw3f4Y0ulsbGTzg0hyQ_1_0">Common stock, par value $0.01 per share</dei:Security12bTitle>
    <dei:TradingSymbol
      contextRef="Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA"
      id="Tc_bX9F-sCBDEGFJnE4_8V_wQ_1_1">BLD</dei:TradingSymbol>
    <dei:SecurityExchangeName
      contextRef="Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA"
      id="Tc_qLwZ-aSzEUuRt-NIsNPYSg_1_2">NYSE</dei:SecurityExchangeName>
    <dei:EntityCurrentReportingStatus
      contextRef="Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA"
      id="Narr_jzvsOrpIUUCcHYP7B-hatw">Yes</dei:EntityCurrentReportingStatus>
    <dei:EntityInteractiveDataCurrent
      contextRef="Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA"
      id="Narr_9MccpFBGk0-fJrcjbk8eOA">Yes</dei:EntityInteractiveDataCurrent>
    <dei:EntityFilerCategory
      contextRef="Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA"
      id="Narr_FtQjS_FzqEGETQkLdZhW4Q">Large Accelerated Filer</dei:EntityFilerCategory>
    <dei:EntitySmallBusiness
      contextRef="Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA"
      id="Narr_KuUnQ3v_90mSgElvuXMXkA">false</dei:EntitySmallBusiness>
    <dei:EntityEmergingGrowthCompany
      contextRef="Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA"
      id="Narr_aruRwQ-BpkG9igQ1T-Y57Q">false</dei:EntityEmergingGrowthCompany>
    <dei:EntityShellCompany
      contextRef="Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA"
      id="Narr_3ilcgSzILE-HgZOoqDw_pA">false</dei:EntityShellCompany>
    <dei:EntityCommonStockSharesOutstanding
      contextRef="As_Of_4_27_2023_zYQWudLbU0m59NYZ0QZwYg"
      decimals="INF"
      id="Narr_UI2dczerO06UgpdbQt_t6g"
      unitRef="Unit_Standard_shares_eiECwuXP0kO6JM1Li4xT6g">31749321</dei:EntityCommonStockSharesOutstanding>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue
      contextRef="As_Of_3_31_2023_if5iG1tra0aH_pegPPBopw"
      decimals="-3"
      id="Tc_EGN1sXeC-UGDZei_ZL5hfw_6_3"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">333778000</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue
      contextRef="As_Of_12_31_2022_3M6K0OeVvUOHwft-0BiHjg"
      decimals="-3"
      id="Tc_utAzJEkst0e_o7lBUxYiWA_6_6"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">240069000</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent
      contextRef="As_Of_3_31_2023_if5iG1tra0aH_pegPPBopw"
      decimals="-3"
      id="Narr_cLBD0ADGWkKZ1teggat6aw"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">16007000</us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent
      contextRef="As_Of_12_31_2022_3M6K0OeVvUOHwft-0BiHjg"
      decimals="-3"
      id="Narr_P2Bx2Ey4gE2eK7xbXxhFeQ"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">16281000</us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent>
    <us-gaap:AccountsReceivableNetCurrent
      contextRef="As_Of_3_31_2023_if5iG1tra0aH_pegPPBopw"
      decimals="-3"
      id="Tc_usNK17eWe0-Ro0VntZrh_g_7_3"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">833959000</us-gaap:AccountsReceivableNetCurrent>
    <us-gaap:AccountsReceivableNetCurrent
      contextRef="As_Of_12_31_2022_3M6K0OeVvUOHwft-0BiHjg"
      decimals="-3"
      id="Tc_Tho-dzWsgkymt-7VXM2HmA_7_6"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">836071000</us-gaap:AccountsReceivableNetCurrent>
    <us-gaap:InventoryNet
      contextRef="As_Of_3_31_2023_if5iG1tra0aH_pegPPBopw"
      decimals="-3"
      id="Tc_3wmjsLsWTkGXShcA7kgypg_8_3"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">422229000</us-gaap:InventoryNet>
    <us-gaap:InventoryNet
      contextRef="As_Of_12_31_2022_3M6K0OeVvUOHwft-0BiHjg"
      decimals="-3"
      id="Tc__t0ylYmydkGI0zdURMgh1Q_8_6"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">438644000</us-gaap:InventoryNet>
    <us-gaap:PrepaidExpenseAndOtherAssetsCurrent
      contextRef="As_Of_3_31_2023_if5iG1tra0aH_pegPPBopw"
      decimals="-3"
      id="Tc_oWa8xsRSZ0qDM9sH-e1uuQ_9_3"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">22861000</us-gaap:PrepaidExpenseAndOtherAssetsCurrent>
    <us-gaap:PrepaidExpenseAndOtherAssetsCurrent
      contextRef="As_Of_12_31_2022_3M6K0OeVvUOHwft-0BiHjg"
      decimals="-3"
      id="Tc_ydtDdfh6pUKLOeSRbLNFqA_9_6"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">34257000</us-gaap:PrepaidExpenseAndOtherAssetsCurrent>
    <us-gaap:AssetsCurrent
      contextRef="As_Of_3_31_2023_if5iG1tra0aH_pegPPBopw"
      decimals="-3"
      id="Tc_rb0zJWesjkyaEbZllGygXw_10_3"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">1612827000</us-gaap:AssetsCurrent>
    <us-gaap:AssetsCurrent
      contextRef="As_Of_12_31_2022_3M6K0OeVvUOHwft-0BiHjg"
      decimals="-3"
      id="Tc_uFBUkCYnvU-xSd7VOpY-YA_10_6"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">1549041000</us-gaap:AssetsCurrent>
    <us-gaap:OperatingLeaseRightOfUseAsset
      contextRef="As_Of_3_31_2023_if5iG1tra0aH_pegPPBopw"
      decimals="-3"
      id="Tc_eJ0ijYTTBkWiDsKXMU_C4A_12_3"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">211381000</us-gaap:OperatingLeaseRightOfUseAsset>
    <us-gaap:OperatingLeaseRightOfUseAsset
      contextRef="As_Of_12_31_2022_3M6K0OeVvUOHwft-0BiHjg"
      decimals="-3"
      id="Tc_oQkiIvk2PkG0HcOjsFSgUg_12_6"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">205892000</us-gaap:OperatingLeaseRightOfUseAsset>
    <us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization
      contextRef="As_Of_3_31_2023_if5iG1tra0aH_pegPPBopw"
      decimals="-3"
      id="Tc_Q9K7bDbByk-_oCNt9aHO7g_13_3"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">260146000</us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization>
    <us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization
      contextRef="As_Of_12_31_2022_3M6K0OeVvUOHwft-0BiHjg"
      decimals="-3"
      id="Tc_DmaDlshoPESNVATKZrl6_Q_13_6"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">253484000</us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization>
    <us-gaap:Goodwill
      contextRef="As_Of_3_31_2023_if5iG1tra0aH_pegPPBopw"
      decimals="-3"
      id="Tc_kchDnJTzWUOgyRrqs6HMuw_14_3"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">1992394000</us-gaap:Goodwill>
    <us-gaap:Goodwill
      contextRef="As_Of_12_31_2022_3M6K0OeVvUOHwft-0BiHjg"
      decimals="-3"
      id="Tc_iOPvyOQnOUa6X4KWNVzxkw_14_6"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">1966994000</us-gaap:Goodwill>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="As_Of_3_31_2023_if5iG1tra0aH_pegPPBopw"
      decimals="-3"
      id="Tc_JJ_wLTuT70GAF8x98TCeDw_15_3"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">607683000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="As_Of_12_31_2022_3M6K0OeVvUOHwft-0BiHjg"
      decimals="-3"
      id="Tc_4I-86gZGzEeUWw5QFvrlfg_15_6"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">614967000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:OtherAssetsNoncurrent
      contextRef="As_Of_3_31_2023_if5iG1tra0aH_pegPPBopw"
      decimals="-3"
      id="Tc_DM18VVOBh0GHV7wmMGWsEw_16_3"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">16483000</us-gaap:OtherAssetsNoncurrent>
    <us-gaap:OtherAssetsNoncurrent
      contextRef="As_Of_12_31_2022_3M6K0OeVvUOHwft-0BiHjg"
      decimals="-3"
      id="Tc_HsCUdRi2Xkaiou50yCKjMg_16_6"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">16453000</us-gaap:OtherAssetsNoncurrent>
    <us-gaap:Assets
      contextRef="As_Of_3_31_2023_if5iG1tra0aH_pegPPBopw"
      decimals="-3"
      id="Tc_xVeykgR2PUGPEdSse-zXQw_17_3"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">4700914000</us-gaap:Assets>
    <us-gaap:Assets
      contextRef="As_Of_12_31_2022_3M6K0OeVvUOHwft-0BiHjg"
      decimals="-3"
      id="Tc_X_asqVrqTku_YKhmkBINrg_17_6"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">4606831000</us-gaap:Assets>
    <us-gaap:AccountsPayableCurrent
      contextRef="As_Of_3_31_2023_if5iG1tra0aH_pegPPBopw"
      decimals="-3"
      id="Tc_6dJibucxs06BYO0SZknCKg_21_3"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">450963000</us-gaap:AccountsPayableCurrent>
    <us-gaap:AccountsPayableCurrent
      contextRef="As_Of_12_31_2022_3M6K0OeVvUOHwft-0BiHjg"
      decimals="-3"
      id="Tc_7_F-uu9PR0KqSFPKp29NoA_21_6"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">487114000</us-gaap:AccountsPayableCurrent>
    <us-gaap:LongTermDebtCurrent
      contextRef="As_Of_3_31_2023_if5iG1tra0aH_pegPPBopw"
      decimals="-3"
      id="Tc_bRVIiZ7lhEK4iQMyW6aiLw_22_3"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">42371000</us-gaap:LongTermDebtCurrent>
    <us-gaap:LongTermDebtCurrent
      contextRef="As_Of_12_31_2022_3M6K0OeVvUOHwft-0BiHjg"
      decimals="-3"
      id="Tc_R9Gpfl1vwUe83nW4jyjr-A_22_6"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">40068000</us-gaap:LongTermDebtCurrent>
    <bld:AccruedLiabilitiesAndEmployeeRelatedLiabilitiesCurrent
      contextRef="As_Of_3_31_2023_if5iG1tra0aH_pegPPBopw"
      decimals="-3"
      id="Tc_uEFPSJXSC0CfN4yPUW1KYg_23_3"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">193347000</bld:AccruedLiabilitiesAndEmployeeRelatedLiabilitiesCurrent>
    <bld:AccruedLiabilitiesAndEmployeeRelatedLiabilitiesCurrent
      contextRef="As_Of_12_31_2022_3M6K0OeVvUOHwft-0BiHjg"
      decimals="-3"
      id="Tc_X54tBs_VVkWVomu3vWyvFA_23_6"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">199370000</bld:AccruedLiabilitiesAndEmployeeRelatedLiabilitiesCurrent>
    <us-gaap:OperatingLeaseLiabilityCurrent
      contextRef="As_Of_3_31_2023_if5iG1tra0aH_pegPPBopw"
      decimals="-3"
      id="Tc_suZHCPSzo0OVzgOTy1VXIA_24_3"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">62110000</us-gaap:OperatingLeaseLiabilityCurrent>
    <us-gaap:OperatingLeaseLiabilityCurrent
      contextRef="As_Of_12_31_2022_3M6K0OeVvUOHwft-0BiHjg"
      decimals="-3"
      id="Tc_LRlEAROVjUyBhyIj7UUtkw_24_6"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">60880000</us-gaap:OperatingLeaseLiabilityCurrent>
    <us-gaap:FinanceLeaseLiabilityCurrent
      contextRef="As_Of_3_31_2023_if5iG1tra0aH_pegPPBopw"
      decimals="-3"
      id="Tc_bG0in4YEfEi8qIxdv2wv2A_25_3"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">2452000</us-gaap:FinanceLeaseLiabilityCurrent>
    <us-gaap:FinanceLeaseLiabilityCurrent
      contextRef="As_Of_12_31_2022_3M6K0OeVvUOHwft-0BiHjg"
      decimals="-3"
      id="Tc_-V8LbdpnKU2-4We-bNqAJQ_25_6"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">2207000</us-gaap:FinanceLeaseLiabilityCurrent>
    <us-gaap:LiabilitiesCurrent
      contextRef="As_Of_3_31_2023_if5iG1tra0aH_pegPPBopw"
      decimals="-3"
      id="Tc_9NPI1L8vUkettcdCSlPxrQ_26_3"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">751243000</us-gaap:LiabilitiesCurrent>
    <us-gaap:LiabilitiesCurrent
      contextRef="As_Of_12_31_2022_3M6K0OeVvUOHwft-0BiHjg"
      decimals="-3"
      id="Tc_FH_3NyG0x0SvHhwm9tHXdw_26_6"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">789639000</us-gaap:LiabilitiesCurrent>
    <us-gaap:LongTermDebtNoncurrent
      contextRef="As_Of_3_31_2023_if5iG1tra0aH_pegPPBopw"
      decimals="-3"
      id="Tc_OdKpFuJptU2YvZfnYM1K3g_28_3"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">1405931000</us-gaap:LongTermDebtNoncurrent>
    <us-gaap:LongTermDebtNoncurrent
      contextRef="As_Of_12_31_2022_3M6K0OeVvUOHwft-0BiHjg"
      decimals="-3"
      id="Tc_ndHRDaEd9EKk8zZJCkViNg_28_6"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">1417257000</us-gaap:LongTermDebtNoncurrent>
    <us-gaap:DeferredIncomeTaxLiabilitiesNet
      contextRef="As_Of_3_31_2023_if5iG1tra0aH_pegPPBopw"
      decimals="-3"
      id="Tc__vE0b38F7UCR8BUwiZB0kQ_29_3"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">252044000</us-gaap:DeferredIncomeTaxLiabilitiesNet>
    <us-gaap:DeferredIncomeTaxLiabilitiesNet
      contextRef="As_Of_12_31_2022_3M6K0OeVvUOHwft-0BiHjg"
      decimals="-3"
      id="Tc_JaG7ob4AVU6PCLChjWJNwQ_29_6"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">251481000</us-gaap:DeferredIncomeTaxLiabilitiesNet>
    <us-gaap:AccruedInsuranceNoncurrent
      contextRef="As_Of_3_31_2023_if5iG1tra0aH_pegPPBopw"
      decimals="-3"
      id="Tc_8_fbZR0ZFkG0AZcy-7EakQ_30_3"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">61466000</us-gaap:AccruedInsuranceNoncurrent>
    <us-gaap:AccruedInsuranceNoncurrent
      contextRef="As_Of_12_31_2022_3M6K0OeVvUOHwft-0BiHjg"
      decimals="-3"
      id="Tc_Jyu3JE17bE6YYNlv0TIiAA_30_6"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">59783000</us-gaap:AccruedInsuranceNoncurrent>
    <us-gaap:OperatingLeaseLiabilityNoncurrent
      contextRef="As_Of_3_31_2023_if5iG1tra0aH_pegPPBopw"
      decimals="-3"
      id="Tc_AXXgFL9iVUSmVZv8stJFCg_31_3"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">154844000</us-gaap:OperatingLeaseLiabilityNoncurrent>
    <us-gaap:OperatingLeaseLiabilityNoncurrent
      contextRef="As_Of_12_31_2022_3M6K0OeVvUOHwft-0BiHjg"
      decimals="-3"
      id="Tc_8NKQq28A-02G0K7mFVjY5A_31_6"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">149943000</us-gaap:OperatingLeaseLiabilityNoncurrent>
    <us-gaap:FinanceLeaseLiabilityNoncurrent
      contextRef="As_Of_3_31_2023_if5iG1tra0aH_pegPPBopw"
      decimals="-3"
      id="Tc_m0XhYBOjfkCRNg7xsGdZOw_32_3"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">4983000</us-gaap:FinanceLeaseLiabilityNoncurrent>
    <us-gaap:FinanceLeaseLiabilityNoncurrent
      contextRef="As_Of_12_31_2022_3M6K0OeVvUOHwft-0BiHjg"
      decimals="-3"
      id="Tc_tOO_1-ALPUyk6EqB8iKQxQ_32_6"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">6673000</us-gaap:FinanceLeaseLiabilityNoncurrent>
    <us-gaap:OtherLiabilitiesNoncurrent
      contextRef="As_Of_3_31_2023_if5iG1tra0aH_pegPPBopw"
      decimals="-3"
      id="Tc_UIm3lQgyaUCCkC1xA8c2Cg_33_3"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">5259000</us-gaap:OtherLiabilitiesNoncurrent>
    <us-gaap:OtherLiabilitiesNoncurrent
      contextRef="As_Of_12_31_2022_3M6K0OeVvUOHwft-0BiHjg"
      decimals="-3"
      id="Tc_tqYwkFHnDE6a-sUiD0bwCA_33_6"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">2349000</us-gaap:OtherLiabilitiesNoncurrent>
    <us-gaap:Liabilities
      contextRef="As_Of_3_31_2023_if5iG1tra0aH_pegPPBopw"
      decimals="-3"
      id="Tc_4PT_AXVuMEyiyJH3pPol-w_34_3"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">2635770000</us-gaap:Liabilities>
    <us-gaap:Liabilities
      contextRef="As_Of_12_31_2022_3M6K0OeVvUOHwft-0BiHjg"
      decimals="-3"
      id="Tc_RvfCJ75Yzk-Hudn4HFPxIQ_34_6"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">2677125000</us-gaap:Liabilities>
    <us-gaap:PreferredStockParOrStatedValuePerShare
      contextRef="As_Of_3_31_2023_if5iG1tra0aH_pegPPBopw"
      decimals="INF"
      id="Narr_4G76LnkANEy4Ml4A-QvRAA"
      unitRef="Unit_Divide_USD_shares_imdDf3-8d0qa5ZDAI6M6QA">0.01</us-gaap:PreferredStockParOrStatedValuePerShare>
    <us-gaap:PreferredStockParOrStatedValuePerShare
      contextRef="As_Of_12_31_2022_3M6K0OeVvUOHwft-0BiHjg"
      decimals="INF"
      id="Narr_aVBln9dBPU-o4yyui2wUjw"
      unitRef="Unit_Divide_USD_shares_imdDf3-8d0qa5ZDAI6M6QA">0.01</us-gaap:PreferredStockParOrStatedValuePerShare>
    <us-gaap:PreferredStockSharesAuthorized
      contextRef="As_Of_3_31_2023_if5iG1tra0aH_pegPPBopw"
      decimals="INF"
      id="Narr_uF9qiXvcx0apR3wgC1UglA"
      unitRef="Unit_Standard_shares_eiECwuXP0kO6JM1Li4xT6g">10000000</us-gaap:PreferredStockSharesAuthorized>
    <us-gaap:PreferredStockSharesAuthorized
      contextRef="As_Of_12_31_2022_3M6K0OeVvUOHwft-0BiHjg"
      decimals="INF"
      id="Narr_6Ht65oHYGEGtCtT9U5hdlg"
      unitRef="Unit_Standard_shares_eiECwuXP0kO6JM1Li4xT6g">10000000</us-gaap:PreferredStockSharesAuthorized>
    <us-gaap:PreferredStockSharesIssued
      contextRef="As_Of_3_31_2023_if5iG1tra0aH_pegPPBopw"
      decimals="INF"
      id="Narr_2GApoPKWqUeGatas1pM4iA"
      unitRef="Unit_Standard_shares_eiECwuXP0kO6JM1Li4xT6g">0</us-gaap:PreferredStockSharesIssued>
    <us-gaap:PreferredStockSharesIssued
      contextRef="As_Of_12_31_2022_3M6K0OeVvUOHwft-0BiHjg"
      decimals="INF"
      id="Narr_-DSAPo4nGUGWLcaYDRV0qA"
      unitRef="Unit_Standard_shares_eiECwuXP0kO6JM1Li4xT6g">0</us-gaap:PreferredStockSharesIssued>
    <us-gaap:CommonStockParOrStatedValuePerShare
      contextRef="As_Of_3_31_2023_if5iG1tra0aH_pegPPBopw"
      decimals="INF"
      id="Narr_jtaihnPzF0m1wSjKMyisfw"
      unitRef="Unit_Divide_USD_shares_imdDf3-8d0qa5ZDAI6M6QA">0.01</us-gaap:CommonStockParOrStatedValuePerShare>
    <us-gaap:CommonStockParOrStatedValuePerShare
      contextRef="As_Of_12_31_2022_3M6K0OeVvUOHwft-0BiHjg"
      decimals="INF"
      id="Narr_ssxueT4Ys0mVJld6wBSjSQ"
      unitRef="Unit_Divide_USD_shares_imdDf3-8d0qa5ZDAI6M6QA">0.01</us-gaap:CommonStockParOrStatedValuePerShare>
    <us-gaap:CommonStockSharesAuthorized
      contextRef="As_Of_3_31_2023_if5iG1tra0aH_pegPPBopw"
      decimals="INF"
      id="Narr_u7V74klSHEeeflZEpUGx5A"
      unitRef="Unit_Standard_shares_eiECwuXP0kO6JM1Li4xT6g">250000000</us-gaap:CommonStockSharesAuthorized>
    <us-gaap:CommonStockSharesAuthorized
      contextRef="As_Of_12_31_2022_3M6K0OeVvUOHwft-0BiHjg"
      decimals="INF"
      id="Narr_56D6PbDza0-df0ymr2AtIw"
      unitRef="Unit_Standard_shares_eiECwuXP0kO6JM1Li4xT6g">250000000</us-gaap:CommonStockSharesAuthorized>
    <us-gaap:CommonStockSharesIssued
      contextRef="As_Of_3_31_2023_if5iG1tra0aH_pegPPBopw"
      decimals="INF"
      id="Narr_0VViZJ6N60qDGmB4L4CWAw"
      unitRef="Unit_Standard_shares_eiECwuXP0kO6JM1Li4xT6g">39465688</us-gaap:CommonStockSharesIssued>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="As_Of_3_31_2023_if5iG1tra0aH_pegPPBopw"
      decimals="INF"
      id="Narr_f2DRLI9dd0mP9d7AIAwjEg"
      unitRef="Unit_Standard_shares_eiECwuXP0kO6JM1Li4xT6g">31750010</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:CommonStockSharesIssued
      contextRef="As_Of_12_31_2022_3M6K0OeVvUOHwft-0BiHjg"
      decimals="INF"
      id="Narr_n-dpjPrp306Hau3fAneZKQ"
      unitRef="Unit_Standard_shares_eiECwuXP0kO6JM1Li4xT6g">39325916</us-gaap:CommonStockSharesIssued>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="As_Of_12_31_2022_3M6K0OeVvUOHwft-0BiHjg"
      decimals="INF"
      id="Narr_lMghVHCGfUuUMs68okE8xw"
      unitRef="Unit_Standard_shares_eiECwuXP0kO6JM1Li4xT6g">31642832</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:CommonStockValue
      contextRef="As_Of_3_31_2023_if5iG1tra0aH_pegPPBopw"
      decimals="-3"
      id="Tc_esjVM5giBkqcyaXl0gvCBg_40_3"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">395000</us-gaap:CommonStockValue>
    <us-gaap:CommonStockValue
      contextRef="As_Of_12_31_2022_3M6K0OeVvUOHwft-0BiHjg"
      decimals="-3"
      id="Tc_6SLOhJ0PMkSxY-_rgQFzug_40_6"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">393000</us-gaap:CommonStockValue>
    <us-gaap:TreasuryStockCommonShares
      contextRef="As_Of_3_31_2023_if5iG1tra0aH_pegPPBopw"
      decimals="INF"
      id="Narr_TN_zp83nkkGk1eCd9GT_zw"
      unitRef="Unit_Standard_shares_eiECwuXP0kO6JM1Li4xT6g">7715678</us-gaap:TreasuryStockCommonShares>
    <us-gaap:TreasuryStockCommonShares
      contextRef="As_Of_12_31_2022_3M6K0OeVvUOHwft-0BiHjg"
      decimals="INF"
      id="Narr_3hViAHtacUC6n4cjg3ab5w"
      unitRef="Unit_Standard_shares_eiECwuXP0kO6JM1Li4xT6g">7683084</us-gaap:TreasuryStockCommonShares>
    <us-gaap:TreasuryStockCommonValue
      contextRef="As_Of_3_31_2023_if5iG1tra0aH_pegPPBopw"
      decimals="-3"
      id="Tc_yP63iPwCFUWYYJx450BC3Q_41_3"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">699149000</us-gaap:TreasuryStockCommonValue>
    <us-gaap:TreasuryStockCommonValue
      contextRef="As_Of_12_31_2022_3M6K0OeVvUOHwft-0BiHjg"
      decimals="-3"
      id="Tc_cUc4S2yujUKTQ5sybxUnaw_41_6"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">692799000</us-gaap:TreasuryStockCommonValue>
    <us-gaap:AdditionalPaidInCapitalCommonStock
      contextRef="As_Of_3_31_2023_if5iG1tra0aH_pegPPBopw"
      decimals="-3"
      id="Tc_p0c3wd0eQ0GSVUteXOUoOA_42_3"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">891530000</us-gaap:AdditionalPaidInCapitalCommonStock>
    <us-gaap:AdditionalPaidInCapitalCommonStock
      contextRef="As_Of_12_31_2022_3M6K0OeVvUOHwft-0BiHjg"
      decimals="-3"
      id="Tc_qIsRfZ8pJk-P7FR1zI4Ifw_42_6"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">887367000</us-gaap:AdditionalPaidInCapitalCommonStock>
    <us-gaap:RetainedEarningsAccumulatedDeficit
      contextRef="As_Of_3_31_2023_if5iG1tra0aH_pegPPBopw"
      decimals="-3"
      id="Tc_RWOn6GHGE0OiUw3K_PbMxA_43_3"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">1892535000</us-gaap:RetainedEarningsAccumulatedDeficit>
    <us-gaap:RetainedEarningsAccumulatedDeficit
      contextRef="As_Of_12_31_2022_3M6K0OeVvUOHwft-0BiHjg"
      decimals="-3"
      id="Tc_BWIGHxytlE2VVSkX7JD2qA_43_6"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">1756665000</us-gaap:RetainedEarningsAccumulatedDeficit>
    <us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax
      contextRef="As_Of_3_31_2023_if5iG1tra0aH_pegPPBopw"
      decimals="-3"
      id="Tc_BiG2nQwxwUmRjoi8gTiStg_44_3"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">-20167000</us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax>
    <us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax
      contextRef="As_Of_12_31_2022_3M6K0OeVvUOHwft-0BiHjg"
      decimals="-3"
      id="Tc_NnCj1fTsVUuV9Shf8yLFNA_44_6"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">-21920000</us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax>
    <us-gaap:StockholdersEquity
      contextRef="As_Of_3_31_2023_if5iG1tra0aH_pegPPBopw"
      decimals="-3"
      id="Tc_Io1o0f64cUK69TWTWaRLlQ_45_3"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">2065144000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="As_Of_12_31_2022_3M6K0OeVvUOHwft-0BiHjg"
      decimals="-3"
      id="Tc_bOH4n-YtkUycbEtxT4wKaw_45_6"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">1929706000</us-gaap:StockholdersEquity>
    <us-gaap:LiabilitiesAndStockholdersEquity
      contextRef="As_Of_3_31_2023_if5iG1tra0aH_pegPPBopw"
      decimals="-3"
      id="Tc_UOk2VciHP0K83xnfwVq9iA_46_3"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">4700914000</us-gaap:LiabilitiesAndStockholdersEquity>
    <us-gaap:LiabilitiesAndStockholdersEquity
      contextRef="As_Of_12_31_2022_3M6K0OeVvUOHwft-0BiHjg"
      decimals="-3"
      id="Tc_73u5ijCARkuwZagBsA1fkg_46_6"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">4606831000</us-gaap:LiabilitiesAndStockholdersEquity>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA"
      decimals="-3"
      id="Tc_HuLtQdCDdkOpy9r-7fbRPw_3_3"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">1265238000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_1_1_2022_To_3_31_2022_6vn3vE91T0CiaH7EkBeDAw"
      decimals="-3"
      id="Tc_1DHguN7Qe0i9C3z-dZDN_g_3_6"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">1168918000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA"
      decimals="-3"
      id="Tc_cE7xfT3znkm4p2qXU-azxw_4_3"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">895023000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="Duration_1_1_2022_To_3_31_2022_6vn3vE91T0CiaH7EkBeDAw"
      decimals="-3"
      id="Tc_2lGbnjRSp0C1hUMJE3y6dg_4_6"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">837717000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:GrossProfit
      contextRef="Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA"
      decimals="-3"
      id="Tc_V44wjqa26UWFgPcnGOrgGg_5_3"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">370215000</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="Duration_1_1_2022_To_3_31_2022_6vn3vE91T0CiaH7EkBeDAw"
      decimals="-3"
      id="Tc_yrCU2H5VEU2XadHaCmk_Gw_5_6"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">331201000</us-gaap:GrossProfit>
    <us-gaap:SellingGeneralAndAdministrativeExpense
      contextRef="Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA"
      decimals="-3"
      id="Tc_CpbMRAv-xUCKLfzg1EPkvg_7_3"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">170784000</us-gaap:SellingGeneralAndAdministrativeExpense>
    <us-gaap:SellingGeneralAndAdministrativeExpense
      contextRef="Duration_1_1_2022_To_3_31_2022_6vn3vE91T0CiaH7EkBeDAw"
      decimals="-3"
      id="Tc_vJZD_03w9kOa7-TfhI1rzg_7_6"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">167247000</us-gaap:SellingGeneralAndAdministrativeExpense>
    <us-gaap:OperatingIncomeLoss
      contextRef="Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA"
      decimals="-3"
      id="Tc_xZpUoL-nYUGA7ob20dKmUg_8_3"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">199431000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="Duration_1_1_2022_To_3_31_2022_6vn3vE91T0CiaH7EkBeDAw"
      decimals="-3"
      id="Tc_bpc7fLLCh02qNEm-TZGT8A_8_6"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">163954000</us-gaap:OperatingIncomeLoss>
    <us-gaap:InterestExpense
      contextRef="Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA"
      decimals="-3"
      id="Tc_W_gI0XwZr0OsMA0QWC2Mfg_11_3"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">18039000</us-gaap:InterestExpense>
    <us-gaap:InterestExpense
      contextRef="Duration_1_1_2022_To_3_31_2022_6vn3vE91T0CiaH7EkBeDAw"
      decimals="-3"
      id="Tc_jpwXZu0rqE269My03eOFxg_11_6"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">11966000</us-gaap:InterestExpense>
    <us-gaap:OtherNonoperatingIncomeExpense
      contextRef="Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA"
      decimals="-3"
      id="Tc_m89jU1lL9UOJSU2cXZceig_12_3"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">1923000</us-gaap:OtherNonoperatingIncomeExpense>
    <us-gaap:OtherNonoperatingIncomeExpense
      contextRef="Duration_1_1_2022_To_3_31_2022_6vn3vE91T0CiaH7EkBeDAw"
      decimals="-3"
      id="Tc_yT45RqweQEyY_Lz9b4rfPA_12_6"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">684000</us-gaap:OtherNonoperatingIncomeExpense>
    <us-gaap:NonoperatingIncomeExpense
      contextRef="Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA"
      decimals="-3"
      id="Tc__VD2BT_gmUmp-0zn0iPI5Q_13_3"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">-16116000</us-gaap:NonoperatingIncomeExpense>
    <us-gaap:NonoperatingIncomeExpense
      contextRef="Duration_1_1_2022_To_3_31_2022_6vn3vE91T0CiaH7EkBeDAw"
      decimals="-3"
      id="Tc_rfLHbbCAbUKn__rmBaQ7fQ_13_6"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">-11282000</us-gaap:NonoperatingIncomeExpense>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA"
      decimals="-3"
      id="Tc_az5Y8-aMzEyu_2fGDB_O4w_14_3"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">183315000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="Duration_1_1_2022_To_3_31_2022_6vn3vE91T0CiaH7EkBeDAw"
      decimals="-3"
      id="Tc_3HpnG__JvkO908Swp0d4Eg_14_6"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">152672000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA"
      decimals="-3"
      id="Tc_kcLIzmN78E2L89KgDoB7lA_16_3"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">47445000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2022_To_3_31_2022_6vn3vE91T0CiaH7EkBeDAw"
      decimals="-3"
      id="Tc_LfnnaSUIj0GdPVpiYURzwg_16_6"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">37961000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:NetIncomeLoss
      contextRef="Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA"
      decimals="-3"
      id="Tc_RgDd2qAxb0CCalwYTVtxBQ_17_3"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">135870000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="Duration_1_1_2022_To_3_31_2022_6vn3vE91T0CiaH7EkBeDAw"
      decimals="-3"
      id="Tc_33m__0jL5kGCcOUDIj9Prg_17_6"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">114711000</us-gaap:NetIncomeLoss>
    <us-gaap:EarningsPerShareBasic
      contextRef="Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA"
      decimals="2"
      id="Tc_mnji8h9tfkKLx-2TKMHv6A_20_3"
      unitRef="Unit_Divide_USD_shares_imdDf3-8d0qa5ZDAI6M6QA">4.31</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="Duration_1_1_2022_To_3_31_2022_6vn3vE91T0CiaH7EkBeDAw"
      decimals="2"
      id="Tc_OIEVqAsu3EytQxFuH5ryEg_20_6"
      unitRef="Unit_Divide_USD_shares_imdDf3-8d0qa5ZDAI6M6QA">3.50</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareDiluted
      contextRef="Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA"
      decimals="2"
      id="Tc_H9ASPlynn0-rnQX1Gf9c-w_21_3"
      unitRef="Unit_Divide_USD_shares_imdDf3-8d0qa5ZDAI6M6QA">4.28</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="Duration_1_1_2022_To_3_31_2022_6vn3vE91T0CiaH7EkBeDAw"
      decimals="2"
      id="Tc_V9tj-F74d0ehGqvVYwBS0w_21_6"
      unitRef="Unit_Divide_USD_shares_imdDf3-8d0qa5ZDAI6M6QA">3.47</us-gaap:EarningsPerShareDiluted>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA"
      decimals="0"
      id="Tc_uRHyIDiCOkyxAop3J1DB1w_24_3"
      unitRef="Unit_Standard_shares_eiECwuXP0kO6JM1Li4xT6g">31550658</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="Duration_1_1_2022_To_3_31_2022_6vn3vE91T0CiaH7EkBeDAw"
      decimals="0"
      id="Tc_ax2D80S9eEuj6XyMyFiFzQ_24_6"
      unitRef="Unit_Standard_shares_eiECwuXP0kO6JM1Li4xT6g">32738525</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA"
      decimals="0"
      id="Tc_td1dXQLOBE-l5h5VCRY6zw_25_3"
      unitRef="Unit_Standard_shares_eiECwuXP0kO6JM1Li4xT6g">31713239</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="Duration_1_1_2022_To_3_31_2022_6vn3vE91T0CiaH7EkBeDAw"
      decimals="0"
      id="Tc_Y6RiTlVdC0qQpxBIkKZKwQ_25_6"
      unitRef="Unit_Standard_shares_eiECwuXP0kO6JM1Li4xT6g">33042490</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:NetIncomeLoss
      contextRef="Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA"
      decimals="-3"
      id="Tc_7LrWHDloc02LdVUx8PvMxg_3_2"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">135870000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="Duration_1_1_2022_To_3_31_2022_6vn3vE91T0CiaH7EkBeDAw"
      decimals="-3"
      id="Tc_wiiOHbwtpU2GkbFcAqOXxw_3_5"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">114711000</us-gaap:NetIncomeLoss>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax
      contextRef="Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA"
      decimals="-3"
      id="Tc_Z19BOHWZBEa0WQwC4SCF5Q_5_2"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">1753000</us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax
      contextRef="Duration_1_1_2022_To_3_31_2022_6vn3vE91T0CiaH7EkBeDAw"
      decimals="-3"
      id="Tc_KA1gmWhi2ku12qOD4IJcpA_5_5"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">3218000</us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax>
    <us-gaap:ComprehensiveIncomeNetOfTax
      contextRef="Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA"
      decimals="-3"
      id="Tc_T8yjw5N2Y0u4iVM9QFn5WA_6_2"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">137623000</us-gaap:ComprehensiveIncomeNetOfTax>
    <us-gaap:ComprehensiveIncomeNetOfTax
      contextRef="Duration_1_1_2022_To_3_31_2022_6vn3vE91T0CiaH7EkBeDAw"
      decimals="-3"
      id="Tc__eGEcgF3m0CViGriPJ6g3w_6_5"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">117929000</us-gaap:ComprehensiveIncomeNetOfTax>
    <us-gaap:ProfitLoss
      contextRef="Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA"
      decimals="-3"
      id="Tc_CHbPJKzso02s19YIQoGAFg_4_3"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">135870000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="Duration_1_1_2022_To_3_31_2022_6vn3vE91T0CiaH7EkBeDAw"
      decimals="-3"
      id="Tc_UhKKey3A9UqOJUux6h-aKw_4_6"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">114711000</us-gaap:ProfitLoss>
    <us-gaap:DepreciationDepletionAndAmortization
      contextRef="Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA"
      decimals="-3"
      id="Tc_CkEVLAH2WECTtraDtqAkdA_6_3"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">32100000</us-gaap:DepreciationDepletionAndAmortization>
    <us-gaap:DepreciationDepletionAndAmortization
      contextRef="Duration_1_1_2022_To_3_31_2022_6vn3vE91T0CiaH7EkBeDAw"
      decimals="-3"
      id="Tc_qw47wEk4SkiBMyM3IxdOrw_6_6"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">30499000</us-gaap:DepreciationDepletionAndAmortization>
    <us-gaap:ShareBasedCompensation
      contextRef="Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA"
      decimals="-3"
      id="Tc_9Vv03tkZaEWbM_w9rZQ_Gg_7_3"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">3135000</us-gaap:ShareBasedCompensation>
    <us-gaap:ShareBasedCompensation
      contextRef="Duration_1_1_2022_To_3_31_2022_6vn3vE91T0CiaH7EkBeDAw"
      decimals="-3"
      id="Tc_P5_A9kJkuUuPryPyPmYtSA_7_6"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">3727000</us-gaap:ShareBasedCompensation>
    <us-gaap:GainLossOnSaleOfPropertyPlantEquipment
      contextRef="Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA"
      decimals="-3"
      id="Tc_g4GYAjcaA06dIYiqLcwt-A_8_3"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">-185000</us-gaap:GainLossOnSaleOfPropertyPlantEquipment>
    <us-gaap:GainLossOnSaleOfPropertyPlantEquipment
      contextRef="Duration_1_1_2022_To_3_31_2022_6vn3vE91T0CiaH7EkBeDAw"
      decimals="-3"
      id="Tc_dJA3jCrU7kiiRC9Hc-dnjw_8_6"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">-207000</us-gaap:GainLossOnSaleOfPropertyPlantEquipment>
    <us-gaap:AmortizationOfFinancingCosts
      contextRef="Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA"
      decimals="-3"
      id="Tc_Q_Fx9OWOaEefbhjPjz_FAw_9_3"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">720000</us-gaap:AmortizationOfFinancingCosts>
    <us-gaap:AmortizationOfFinancingCosts
      contextRef="Duration_1_1_2022_To_3_31_2022_6vn3vE91T0CiaH7EkBeDAw"
      decimals="-3"
      id="Tc_vfO-D2vcEk-_0c7ByWsQbg_9_6"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">706000</us-gaap:AmortizationOfFinancingCosts>
    <us-gaap:ProvisionForDoubtfulAccounts
      contextRef="Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA"
      decimals="-3"
      id="Tc_MEnGW5PMgkmnYga1aWSHqA_10_3"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">1338000</us-gaap:ProvisionForDoubtfulAccounts>
    <us-gaap:ProvisionForDoubtfulAccounts
      contextRef="Duration_1_1_2022_To_3_31_2022_6vn3vE91T0CiaH7EkBeDAw"
      decimals="-3"
      id="Tc_Q4vCIakrZ0qxqdf4od9Gyg_10_6"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">2512000</us-gaap:ProvisionForDoubtfulAccounts>
    <us-gaap:InventoryWriteDown
      contextRef="Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA"
      decimals="-3"
      id="Tc_s0y1xqDX80aqH4RX-AD4Bg_11_3"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">1642000</us-gaap:InventoryWriteDown>
    <us-gaap:InventoryWriteDown
      contextRef="Duration_1_1_2022_To_3_31_2022_6vn3vE91T0CiaH7EkBeDAw"
      decimals="-3"
      id="Tc_xedXIuifsEaqQ7j-zE6Z3w_11_6"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">868000</us-gaap:InventoryWriteDown>
    <us-gaap:IncreaseDecreaseInDeferredIncomeTaxes
      contextRef="Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA"
      decimals="-3"
      id="Tc_C_aswAKDwEOXVs6o_DSENg_12_3"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">-563000</us-gaap:IncreaseDecreaseInDeferredIncomeTaxes>
    <us-gaap:IncreaseDecreaseInDeferredIncomeTaxes
      contextRef="Duration_1_1_2022_To_3_31_2022_6vn3vE91T0CiaH7EkBeDAw"
      decimals="-3"
      id="Tc_OE4x5aKyOEuIJGt1amQ2yA_12_6"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">81000</us-gaap:IncreaseDecreaseInDeferredIncomeTaxes>
    <us-gaap:IncreaseDecreaseInAccountsReceivable
      contextRef="Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA"
      decimals="-3"
      id="Tc_FTtjf41aM0Gd1VPizteoiQ_14_3"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">10847000</us-gaap:IncreaseDecreaseInAccountsReceivable>
    <us-gaap:IncreaseDecreaseInAccountsReceivable
      contextRef="Duration_1_1_2022_To_3_31_2022_6vn3vE91T0CiaH7EkBeDAw"
      decimals="-3"
      id="Tc_8Esrb5xq0EGbBt8XAusM_g_14_6"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">65031000</us-gaap:IncreaseDecreaseInAccountsReceivable>
    <us-gaap:IncreaseDecreaseInInventories
      contextRef="Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA"
      decimals="-3"
      id="Tc_MdgRKaMZD0aCksvjjArVSw_15_3"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">-20096000</us-gaap:IncreaseDecreaseInInventories>
    <us-gaap:IncreaseDecreaseInInventories
      contextRef="Duration_1_1_2022_To_3_31_2022_6vn3vE91T0CiaH7EkBeDAw"
      decimals="-3"
      id="Tc_ab4FGKrR3UCiI6rYNW6Mtw_15_6"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">38570000</us-gaap:IncreaseDecreaseInInventories>
    <us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets
      contextRef="Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA"
      decimals="-3"
      id="Tc_SSHHHim20EOrCybFUPKOPw_16_3"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">-11579000</us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets>
    <us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets
      contextRef="Duration_1_1_2022_To_3_31_2022_6vn3vE91T0CiaH7EkBeDAw"
      decimals="-3"
      id="Tc_-M7cdgxlqUqPsS1-WH1QcA_16_6"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">2347000</us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets>
    <us-gaap:IncreaseDecreaseInAccountsPayable
      contextRef="Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA"
      decimals="-3"
      id="Tc_OVDzTW2PKEukbopJvfD27A_17_3"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">-25480000</us-gaap:IncreaseDecreaseInAccountsPayable>
    <us-gaap:IncreaseDecreaseInAccountsPayable
      contextRef="Duration_1_1_2022_To_3_31_2022_6vn3vE91T0CiaH7EkBeDAw"
      decimals="-3"
      id="Tc_7jasxpr2QUqh_4ggSQ6wPw_17_6"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">12663000</us-gaap:IncreaseDecreaseInAccountsPayable>
    <us-gaap:IncreaseDecreaseInAccruedLiabilities
      contextRef="Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA"
      decimals="-3"
      id="Tc_-SPI7kcV2UO8FMDLFwdFDA_18_3"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">-3339000</us-gaap:IncreaseDecreaseInAccruedLiabilities>
    <us-gaap:IncreaseDecreaseInAccruedLiabilities
      contextRef="Duration_1_1_2022_To_3_31_2022_6vn3vE91T0CiaH7EkBeDAw"
      decimals="-3"
      id="Tc_clVd6567w06p16PoCXs9hQ_18_6"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">29523000</us-gaap:IncreaseDecreaseInAccruedLiabilities>
    <us-gaap:OtherOperatingActivitiesCashFlowStatement
      contextRef="Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA"
      decimals="-3"
      id="Tc_fmskulkqP0OEBWBvxGxQxQ_19_3"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">2239000</us-gaap:OtherOperatingActivitiesCashFlowStatement>
    <us-gaap:OtherOperatingActivitiesCashFlowStatement
      contextRef="Duration_1_1_2022_To_3_31_2022_6vn3vE91T0CiaH7EkBeDAw"
      decimals="-3"
      id="Tc_hp1M6xboN0i8LnN-RbcXoA_19_6"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">96000</us-gaap:OtherOperatingActivitiesCashFlowStatement>
    <us-gaap:NetCashProvidedByUsedInOperatingActivities
      contextRef="Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA"
      decimals="-3"
      id="Tc_bJGBpyWvekCPlIA1aMHhJw_20_3"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">169801000</us-gaap:NetCashProvidedByUsedInOperatingActivities>
    <us-gaap:NetCashProvidedByUsedInOperatingActivities
      contextRef="Duration_1_1_2022_To_3_31_2022_6vn3vE91T0CiaH7EkBeDAw"
      decimals="-3"
      id="Tc_z-Q04yPiLEO4WqkHnXPYeg_20_6"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">89483000</us-gaap:NetCashProvidedByUsedInOperatingActivities>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment
      contextRef="Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA"
      decimals="-3"
      id="Tc_nJbqdfeXF0embLrNQbLNgw_23_3"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">15580000</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment
      contextRef="Duration_1_1_2022_To_3_31_2022_6vn3vE91T0CiaH7EkBeDAw"
      decimals="-3"
      id="Tc_cOMsXB7RfUKQ4iz06UWOMw_23_6"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">18413000</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired
      contextRef="Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA"
      decimals="-3"
      id="Tc_EJBIzx0Hvke0C9NobL1WsA_24_3"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">45845000</us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired>
    <us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired
      contextRef="Duration_1_1_2022_To_3_31_2022_6vn3vE91T0CiaH7EkBeDAw"
      decimals="-3"
      id="Tc_9XY1ET08Ck2aJq1iBUz-ww_24_6"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">13967000</us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired>
    <us-gaap:ProceedsFromSaleOfPropertyPlantAndEquipment
      contextRef="Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA"
      decimals="-3"
      id="Tc_Qp0mqfCrN0uA_swT1B-VNA_25_3"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">455000</us-gaap:ProceedsFromSaleOfPropertyPlantAndEquipment>
    <us-gaap:ProceedsFromSaleOfPropertyPlantAndEquipment
      contextRef="Duration_1_1_2022_To_3_31_2022_6vn3vE91T0CiaH7EkBeDAw"
      decimals="-3"
      id="Tc_iRrp4PoPYUO-VdLJucX6kg_25_6"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">253000</us-gaap:ProceedsFromSaleOfPropertyPlantAndEquipment>
    <us-gaap:NetCashProvidedByUsedInInvestingActivities
      contextRef="Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA"
      decimals="-3"
      id="Tc_rwSy8-IuY0mHMDLDn1VdGw_26_3"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">-60970000</us-gaap:NetCashProvidedByUsedInInvestingActivities>
    <us-gaap:NetCashProvidedByUsedInInvestingActivities
      contextRef="Duration_1_1_2022_To_3_31_2022_6vn3vE91T0CiaH7EkBeDAw"
      decimals="-3"
      id="Tc_M0XU7qeYckCzjxU7g1oQdA_26_6"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">-32127000</us-gaap:NetCashProvidedByUsedInInvestingActivities>
    <us-gaap:RepaymentsOfLongTermDebt
      contextRef="Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA"
      decimals="-3"
      id="Tc_Pa3P5UbjTU6RkZJ8JzviCg_29_3"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">9743000</us-gaap:RepaymentsOfLongTermDebt>
    <us-gaap:RepaymentsOfLongTermDebt
      contextRef="Duration_1_1_2022_To_3_31_2022_6vn3vE91T0CiaH7EkBeDAw"
      decimals="-3"
      id="Tc_qoQiNJmmoE6Tpc2p4vLkVw_29_6"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">9634000</us-gaap:RepaymentsOfLongTermDebt>
    <us-gaap:PaymentsRelatedToTaxWithholdingForShareBasedCompensation
      contextRef="Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA"
      decimals="-3"
      id="Tc_sndmNGM44U6t_IZjclJvLg_30_3"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">6350000</us-gaap:PaymentsRelatedToTaxWithholdingForShareBasedCompensation>
    <us-gaap:PaymentsRelatedToTaxWithholdingForShareBasedCompensation
      contextRef="Duration_1_1_2022_To_3_31_2022_6vn3vE91T0CiaH7EkBeDAw"
      decimals="-3"
      id="Tc_MhgEpgfTiECyaNhIzVxv7Q_30_6"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">11658000</us-gaap:PaymentsRelatedToTaxWithholdingForShareBasedCompensation>
    <us-gaap:ProceedsFromStockOptionsExercised
      contextRef="Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA"
      decimals="-3"
      id="Tc_Xb1wjaNnQkyPpgdmcLb4nQ_31_3"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">1029000</us-gaap:ProceedsFromStockOptionsExercised>
    <us-gaap:ProceedsFromStockOptionsExercised
      contextRef="Duration_1_1_2022_To_3_31_2022_6vn3vE91T0CiaH7EkBeDAw"
      decimals="-3"
      id="Tc_jNmD-VpiMk63uykfK9tTjw_31_6"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">808000</us-gaap:ProceedsFromStockOptionsExercised>
    <us-gaap:PaymentsForRepurchaseOfCommonStock
      contextRef="Duration_1_1_2022_To_3_31_2022_6vn3vE91T0CiaH7EkBeDAw"
      decimals="-3"
      id="Tc_Csn9bHXPVE2E3j28XODpbw_32_6"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">50000000</us-gaap:PaymentsForRepurchaseOfCommonStock>
    <us-gaap:PaymentForContingentConsiderationLiabilityFinancingActivities
      contextRef="Duration_1_1_2022_To_3_31_2022_6vn3vE91T0CiaH7EkBeDAw"
      decimals="-3"
      id="Tc_LlFVDNEGFU-ffvGg7lNkiQ_33_6"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">23000</us-gaap:PaymentForContingentConsiderationLiabilityFinancingActivities>
    <us-gaap:NetCashProvidedByUsedInFinancingActivities
      contextRef="Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA"
      decimals="-3"
      id="Tc_2eLstVlLs0C8LwkYpMqeNA_34_3"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">-15064000</us-gaap:NetCashProvidedByUsedInFinancingActivities>
    <us-gaap:NetCashProvidedByUsedInFinancingActivities
      contextRef="Duration_1_1_2022_To_3_31_2022_6vn3vE91T0CiaH7EkBeDAw"
      decimals="-3"
      id="Tc_PNlHMmMocU2Ph4muftLutA_34_6"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">-70507000</us-gaap:NetCashProvidedByUsedInFinancingActivities>
    <us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA"
      decimals="-3"
      id="Tc_ju7n3eZl0EGJbjA-Pj5rGg_35_3"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">-58000</us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="Duration_1_1_2022_To_3_31_2022_6vn3vE91T0CiaH7EkBeDAw"
      decimals="-3"
      id="Tc_G_Fu1MS_XEaI7My-II2pAQ_35_6"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">-75000</us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect
      contextRef="Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA"
      decimals="-3"
      id="Tc_E5XSqF-E3kOvhI57GdOtaA_36_3"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">93709000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect
      contextRef="Duration_1_1_2022_To_3_31_2022_6vn3vE91T0CiaH7EkBeDAw"
      decimals="-3"
      id="Tc_QxGmZwoPt06XKzfUQHIsDA_36_6"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">-13226000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="As_Of_12_31_2022_3M6K0OeVvUOHwft-0BiHjg"
      decimals="-3"
      id="Tc_F0VJVKOn1k63rrrwIIwR5w_37_3"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">240069000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="As_Of_12_31_2021_E3XLgxKuqkG3H9Q0OJ-D2w"
      decimals="-3"
      id="Tc_WzonRYf9XU6aQ-fTzbrhSg_37_6"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">139779000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="As_Of_3_31_2023_if5iG1tra0aH_pegPPBopw"
      decimals="-3"
      id="Tc_0VMKZkP7K0i5bcj7MsmjEA_38_3"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">333778000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="As_Of_3_31_2022__Zk_lDEdHEWJ823DIF3NZg"
      decimals="-3"
      id="Tc_NR5dm1WB4keB93UJ8tQN_A_38_6"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">126553000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability
      contextRef="Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA"
      decimals="-3"
      id="Tc_-BbBJ-CcCkahMq7Bp4281Q_41_3"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">18271000</us-gaap:RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability>
    <us-gaap:RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability
      contextRef="Duration_1_1_2022_To_3_31_2022_6vn3vE91T0CiaH7EkBeDAw"
      decimals="-3"
      id="Tc_5kRiUEAWsEekwqPyYpWaPQ_41_6"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">22449000</us-gaap:RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability>
    <us-gaap:CapitalExpendituresIncurredButNotYetPaid
      contextRef="Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA"
      decimals="-3"
      id="Tc_2qCZ8kPAZUaRLm7AqnPxuQ_42_3"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">835000</us-gaap:CapitalExpendituresIncurredButNotYetPaid>
    <us-gaap:CapitalExpendituresIncurredButNotYetPaid
      contextRef="Duration_1_1_2022_To_3_31_2022_6vn3vE91T0CiaH7EkBeDAw"
      decimals="-3"
      id="Tc_T21IQCoEPkCxnSCX7Rrq6Q_42_6"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">213000</us-gaap:CapitalExpendituresIncurredButNotYetPaid>
    <us-gaap:CommonStockParOrStatedValuePerShare
      contextRef="As_Of_3_31_2023_if5iG1tra0aH_pegPPBopw"
      decimals="INF"
      id="Narr_uWFKiJulBUmS24lfN1MiNA"
      unitRef="Unit_Divide_USD_shares_imdDf3-8d0qa5ZDAI6M6QA">0.01</us-gaap:CommonStockParOrStatedValuePerShare>
    <us-gaap:StockholdersEquity
      contextRef="As_Of_12_31_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_K4Q3DjveCEiH0sBuPGCPDQ"
      decimals="-3"
      id="Tc_JKFL0oOMUkWePaPH_AruGA_5_2"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">391000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="As_Of_12_31_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockCommonMember_aoGRqgmjFESQWsmqvRfu9g"
      decimals="-3"
      id="Tc_ieZd-yomz0GD9Nj4U72KVQ_5_5"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">-431030000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="As_Of_12_31_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_xlHF0V5WBEeDbcFLDgsp3g"
      decimals="-3"
      id="Tc_ELc1RBclTEybwvhK9WOPqg_5_8"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">873031000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="As_Of_12_31_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember__pvOBVpXeE67ZLr3-c0IdQ"
      decimals="-3"
      id="Tc_F12IfjcwHEqMi-2MBx925A_5_11"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">1200676000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="As_Of_12_31_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_ZkWO_EPNxka9Q35wozuBMQ"
      decimals="-3"
      id="Tc_YaaJ7jUOLkKU7_6CaRNC5g_5_14"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">-6634000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="As_Of_12_31_2021_E3XLgxKuqkG3H9Q0OJ-D2w"
      decimals="-3"
      id="Tc_s5SoCZm-wEmrxMvOdJzpJQ_5_17"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">1636434000</us-gaap:StockholdersEquity>
    <us-gaap:NetIncomeLoss
      contextRef="Duration_1_1_2022_To_3_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_ZcDfzUxETUOxPY4XBVDg7Q"
      decimals="-3"
      id="Tc_t5mEDlb1kkyNqYoXaNdDog_6_11"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">114711000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="Duration_1_1_2022_To_3_31_2022_6vn3vE91T0CiaH7EkBeDAw"
      decimals="-3"
      id="Tc_9MxBfKsPMEizVw0a5G2aig_6_17"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">114711000</us-gaap:NetIncomeLoss>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="Duration_1_1_2022_To_3_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_YYMAF13PdEy8Y5mQdXKWYA"
      decimals="-3"
      id="Tc_MB35i6hTHEekQxUJxPVcsw_7_8"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">3727000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="Duration_1_1_2022_To_3_31_2022_6vn3vE91T0CiaH7EkBeDAw"
      decimals="-3"
      id="Tc_28IhLAeBuEu_IQGhqXEGiA_7_17"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">3727000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:StockIssuedDuringPeriodSharesRestrictedStockAwardGross
      contextRef="Duration_1_1_2022_To_3_31_2022_6vn3vE91T0CiaH7EkBeDAw"
      decimals="INF"
      id="Narr_xFA5diXn9UutaQJoadsJfA"
      unitRef="Unit_Standard_shares_eiECwuXP0kO6JM1Li4xT6g">52940</us-gaap:StockIssuedDuringPeriodSharesRestrictedStockAwardGross>
    <us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardGross
      contextRef="Duration_1_1_2022_To_3_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_r94adSnxsE6EVtvTOFRWng"
      decimals="-3"
      id="Tc_DMoWkUjt0Ea5xccM7oY_Kg_8_2"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">2000</us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardGross>
    <us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardGross
      contextRef="Duration_1_1_2022_To_3_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_YYMAF13PdEy8Y5mQdXKWYA"
      decimals="-3"
      id="Tc_iaxbJcnZ8kqs_zk4kh55xg_8_8"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">-2000</us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardGross>
    <bld:TreasuryStockSharesAcquiredCostMethodShareRepurchaseProgram
      contextRef="Duration_1_1_2022_To_3_31_2022_6vn3vE91T0CiaH7EkBeDAw"
      decimals="INF"
      id="Narr_bU_bl5Fu_ky7uL7-RXVP_A"
      unitRef="Unit_Standard_shares_eiECwuXP0kO6JM1Li4xT6g">238154</bld:TreasuryStockSharesAcquiredCostMethodShareRepurchaseProgram>
    <bld:TreasuryStockValueAcquiredCostMethodShareRepurchaseProgram
      contextRef="Duration_1_1_2022_To_3_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockCommonMember_ntDLPWP-Y0eL6UZY-7ZLNg"
      decimals="-3"
      id="Tc_sUKrLEncCEOYTw9-qq0Ing_9_5"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">50000000</bld:TreasuryStockValueAcquiredCostMethodShareRepurchaseProgram>
    <bld:TreasuryStockValueAcquiredCostMethodShareRepurchaseProgram
      contextRef="Duration_1_1_2022_To_3_31_2022_6vn3vE91T0CiaH7EkBeDAw"
      decimals="-3"
      id="Tc_O8etyn8LCUCGd9adKLK3OA_9_17"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">50000000</bld:TreasuryStockValueAcquiredCostMethodShareRepurchaseProgram>
    <us-gaap:SharesPaidForTaxWithholdingForShareBasedCompensation
      contextRef="Duration_1_1_2022_To_3_31_2022_6vn3vE91T0CiaH7EkBeDAw"
      decimals="INF"
      id="Narr_XlDpCURr006-31WFfg0SNA"
      unitRef="Unit_Standard_shares_eiECwuXP0kO6JM1Li4xT6g">53073</us-gaap:SharesPaidForTaxWithholdingForShareBasedCompensation>
    <us-gaap:AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation
      contextRef="Duration_1_1_2022_To_3_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockCommonMember_ntDLPWP-Y0eL6UZY-7ZLNg"
      decimals="-3"
      id="Tc_djmwFVhWG0iHSknlLGYmVQ_10_5"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">11658000</us-gaap:AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation>
    <us-gaap:AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation
      contextRef="Duration_1_1_2022_To_3_31_2022_6vn3vE91T0CiaH7EkBeDAw"
      decimals="-3"
      id="Tc_4w9pGGkvcEOYpxDo3SgxzA_10_17"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">11658000</us-gaap:AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation>
    <us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised
      contextRef="Duration_1_1_2022_To_3_31_2022_6vn3vE91T0CiaH7EkBeDAw"
      decimals="INF"
      id="Narr_CczEdSdteEOHI2cNLKfrdA"
      unitRef="Unit_Standard_shares_eiECwuXP0kO6JM1Li4xT6g">12269</us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="Duration_1_1_2022_To_3_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_YYMAF13PdEy8Y5mQdXKWYA"
      decimals="-3"
      id="Tc_9HyrofPY7k2zjF7asPylXw_11_8"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">808000</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="Duration_1_1_2022_To_3_31_2022_6vn3vE91T0CiaH7EkBeDAw"
      decimals="-3"
      id="Tc_gpZtb948gU-YlQ8MfaaiKQ_11_17"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">808000</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:OtherComprehensiveIncomeLossNetOfTax
      contextRef="Duration_1_1_2022_To_3_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_xnmDuIYJzUOQlDKBdXWHog"
      decimals="-3"
      id="Tc_2suE5iniWEqjZIBJs90Z9g_12_14"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">3218000</us-gaap:OtherComprehensiveIncomeLossNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossNetOfTax
      contextRef="Duration_1_1_2022_To_3_31_2022_6vn3vE91T0CiaH7EkBeDAw"
      decimals="-3"
      id="Tc_SgzGRcCT50CElizVM7_uxQ_12_17"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">3218000</us-gaap:OtherComprehensiveIncomeLossNetOfTax>
    <us-gaap:StockholdersEquity
      contextRef="As_Of_3_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_-WLZknLc_EO6uYMNLBbE7g"
      decimals="-3"
      id="Tc_DpwDCdgmmkSSdJBRlQB43A_13_2"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">393000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="As_Of_3_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockCommonMember__qc3JlJGTka4g7lG8jQIKw"
      decimals="-3"
      id="Tc_pclFBrEHa0ibaQY_rOdhVg_13_5"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">-492688000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="As_Of_3_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_UP_jxLV5x0u7Ji9GffULgg"
      decimals="-3"
      id="Tc_qFfm5P5iC0Kv9cxGG4Cxww_13_8"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">877564000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="As_Of_3_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_3bDtyK5TkEKLfjrAJGHnJg"
      decimals="-3"
      id="Tc_TUFOSfFWJUmCyk-JPLnOpA_13_11"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">1315387000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="As_Of_3_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_hB_lpYD3vEm4my71pcTHwQ"
      decimals="-3"
      id="Tc_z6ekypuqOUKwjCuqMC00eg_13_14"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">-3416000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="As_Of_3_31_2022__Zk_lDEdHEWJ823DIF3NZg"
      decimals="-3"
      id="Tc_vZjo31z6PUORwI9fHabSxA_13_17"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">1697240000</us-gaap:StockholdersEquity>
    <us-gaap:CommonStockParOrStatedValuePerShare
      contextRef="As_Of_3_31_2023_if5iG1tra0aH_pegPPBopw"
      decimals="2"
      id="Narr__8ZQtm6p6kKJRsWYDo108g"
      unitRef="Unit_Divide_USD_shares_imdDf3-8d0qa5ZDAI6M6QA">0.01</us-gaap:CommonStockParOrStatedValuePerShare>
    <us-gaap:StockholdersEquity
      contextRef="As_Of_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_Irp462mrQUS46zMir5jc3g"
      decimals="-3"
      id="Tc_iTBLGuOb8UGVC2uFA6xq5g_5_2"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">393000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="As_Of_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockCommonMember_KfSzM8aCfEC6P-O2fJUm7g"
      decimals="-3"
      id="Tc_ulC_ruvDmEu_2NxXzj8psg_5_5"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">-692799000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="As_Of_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_LaYSzyaUqEWHOGOQq680pw"
      decimals="-3"
      id="Tc_aavgI1ECbEK-PGtUBqFeTw_5_8"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">887367000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="As_Of_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_x8JaX_v4PE-MsieRKNXtPA"
      decimals="-3"
      id="Tc_fkSi2Oozx0SeCKytuZP4wA_5_11"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">1756665000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="As_Of_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_1p0qTKI-3EOvSkwuCyLm4w"
      decimals="-3"
      id="Tc_Sfx9DKL_GUq0poXZYZGe4w_5_14"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">-21920000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="As_Of_12_31_2022_3M6K0OeVvUOHwft-0BiHjg"
      decimals="-3"
      id="Tc_oY93juOBbEumZ2ngFbot9g_5_17"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">1929706000</us-gaap:StockholdersEquity>
    <us-gaap:NetIncomeLoss
      contextRef="Duration_1_1_2023_To_3_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_g_wEOy27YUOE8eQFhGsziQ"
      decimals="-3"
      id="Tc_sM-zwfMeFECI1UQWWXQNIQ_6_11"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">135870000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA"
      decimals="-3"
      id="Tc_qBkXa67W1UWv1ZSHG29_mg_6_17"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">135870000</us-gaap:NetIncomeLoss>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="Duration_1_1_2023_To_3_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_y9ZrgkF20kS6r6S1z861IA"
      decimals="-3"
      id="Tc_QQsrVmBUrECLjlykIgWgyA_7_8"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">3135000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA"
      decimals="-3"
      id="Tc_yTzN5s6QJE2z1IQ23dKdzQ_7_17"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">3135000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:StockIssuedDuringPeriodSharesRestrictedStockAwardGross
      contextRef="Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA"
      decimals="INF"
      id="Narr_90uPv6Z1JEijQw7aq7vt7w"
      unitRef="Unit_Standard_shares_eiECwuXP0kO6JM1Li4xT6g">95012</us-gaap:StockIssuedDuringPeriodSharesRestrictedStockAwardGross>
    <us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardGross
      contextRef="Duration_1_1_2023_To_3_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_WKBbOPkAq0e7qMWBF4qifA"
      decimals="-3"
      id="Tc_xcSJi81QEk2Vom5in473HA_8_2"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">2000</us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardGross>
    <us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardGross
      contextRef="Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA"
      decimals="-3"
      id="Tc_bJOckRurW0a6GzMb29-jcQ_8_17"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">2000</us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardGross>
    <us-gaap:SharesPaidForTaxWithholdingForShareBasedCompensation
      contextRef="Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA"
      decimals="INF"
      id="Narr_-YS_fy_yB0G7yYNIoX2B0w"
      unitRef="Unit_Standard_shares_eiECwuXP0kO6JM1Li4xT6g">32594</us-gaap:SharesPaidForTaxWithholdingForShareBasedCompensation>
    <us-gaap:AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation
      contextRef="Duration_1_1_2023_To_3_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockCommonMember_LmJ5UGKSyEy_y5otnMnfug"
      decimals="-3"
      id="Tc_pP6zqoYniUeqCHy1ONZIPQ_9_5"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">6350000</us-gaap:AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation>
    <us-gaap:AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation
      contextRef="Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA"
      decimals="-3"
      id="Tc_hb431S1PB0CLeg69ZijI6A_9_17"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">6350000</us-gaap:AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation>
    <us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised
      contextRef="Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA"
      decimals="INF"
      id="Narr_dDrx47Q7_UCTE1AZuK5IbA"
      unitRef="Unit_Standard_shares_eiECwuXP0kO6JM1Li4xT6g">28840</us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="Duration_1_1_2023_To_3_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_y9ZrgkF20kS6r6S1z861IA"
      decimals="-3"
      id="Tc_8OULhul2rEyoiS6dDYhWbw_10_8"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">1028000</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA"
      decimals="-3"
      id="Tc_V4D6YW_BFkuHbIUXu2bgmA_10_17"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">1028000</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:OtherComprehensiveIncomeLossNetOfTax
      contextRef="Duration_1_1_2023_To_3_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_AeIMe7p5lU-XYw7PaedL0A"
      decimals="-3"
      id="Tc_HhQeJOvVwEyMoSo3yyr6UQ_11_14"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">1753000</us-gaap:OtherComprehensiveIncomeLossNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossNetOfTax
      contextRef="Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA"
      decimals="-3"
      id="Tc_s_PjfCZvy0GVCU4G0cPltQ_11_17"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">1753000</us-gaap:OtherComprehensiveIncomeLossNetOfTax>
    <us-gaap:StockholdersEquity
      contextRef="As_Of_3_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_7jVY8WF-Xkav1ie7BJR1NA"
      decimals="-3"
      id="Tc_-Kn_7SqW7U-OQH8T8ATzAg_12_2"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">395000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="As_Of_3_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockCommonMember_wPhW8rxqnE-envvxa0pjpQ"
      decimals="-3"
      id="Tc_-KHa5Zu_akmp2-1HCtjKTQ_12_5"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">-699149000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="As_Of_3_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_p0IFFl326kadCw4l87On1A"
      decimals="-3"
      id="Tc_TjlS-3II2kyf6U6Yi0lo8w_12_8"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">891530000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="As_Of_3_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_WvPQwD3k7UaZavqehpN7Yg"
      decimals="-3"
      id="Tc_d_IOvdp1GEiwE4bcYdQq1Q_12_11"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">1892535000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="As_Of_3_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_qVYZQAsDJ0OVpCXrFAkkUg"
      decimals="-3"
      id="Tc_f7kN5IQCsUa5n-K4N2KVBQ_12_14"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">-20167000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="As_Of_3_31_2023_if5iG1tra0aH_pegPPBopw"
      decimals="-3"
      id="Tc_r2NBmoiIVkKNeQYwGhgWgA_12_17"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">2065144000</us-gaap:StockholdersEquity>
    <us-gaap:BusinessDescriptionAndBasisOfPresentationTextBlock
      contextRef="Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA"
      id="Tb_Bw6ahkry40W6fZAWlOzVAw">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;1. &#160;BASIS OF PRESENTATION&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"&gt;TopBuild was formed on June&#160;30,&#160;2015, and is listed on the NYSE under the ticker symbol &#x201c;BLD.&#x201d; &#160;We report our business in two segments: Installation and Specialty Distribution. &#160;Our Installation segment primarily installs insulation and other building products. &#160;Our Specialty Distribution segment primarily sells and distributes insulation and other building products. &#160;Our segments are based on our operating units, for which financial information is regularly evaluated by our chief operating decision maker.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"&gt;We believe the accompanying unaudited condensed consolidated financial statements contain all adjustments, of a normal recurring nature, necessary to state fairly our financial position as of March 31, 2023, our results of operations, comprehensive income and cash flows for the three months ended March 31, 2023 and 2022.&#160;&#160;The condensed consolidated balance sheet at December&#160;31,&#160;2022 was derived from our audited financial statements, but does not include all disclosures required by GAAP.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"&gt;These condensed consolidated financial statements and related notes should be read in conjunction with the audited Consolidated Financial Statements included in the Company&#x2019;s Annual Report for the year ended December&#160;31,&#160;2022 as filed with the SEC on February 23, 2023.&lt;/p&gt;</us-gaap:BusinessDescriptionAndBasisOfPresentationTextBlock>
    <us-gaap:NumberOfReportableSegments
      contextRef="Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA"
      decimals="INF"
      id="Narr_7vlagfTmr0SZa_oaBaI5mg"
      unitRef="Unit_Standard_segment_HCZxDtsxZkOWPezqk_jBvQ">2</us-gaap:NumberOfReportableSegments>
    <us-gaap:SignificantAccountingPoliciesTextBlock
      contextRef="Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA"
      id="Tb_6GrNMGVfSUyMZ27EpfvI6Q">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"&gt;&lt;span style="font-family:'TimesNewRoman';font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"&gt;&lt;b style="font-family:'TimesNewRoman';font-weight:bold;"&gt;2. &#160;ACCOUNTING POLICIES&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"&gt;&lt;span style="font-family:'TimesNewRoman';visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"&gt;&lt;span style="font-family:'TimesNewRoman';font-style:italic;font-weight:bold;"&gt;Financial Statement Presentation.&lt;/span&gt;&lt;span style="font-family:'TimesNewRoman';"&gt; &#160;Our condensed consolidated financial statements have been developed in conformity with GAAP, which requires management to make estimates and assumptions. &#160;These estimates and assumptions affect the reported amounts of assets and liabilities and disclosures of contingent liabilities at the date of the financial statements, as well as the reported amounts of revenues and expenses during the reporting periods. &#160;Actual results could differ materially from these estimates. &#160;All intercompany transactions between TopBuild entities have been eliminated.&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"&gt;&lt;span style="font-family:'TimesNewRoman';visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"&gt;&lt;span style="font-family:'TimesNewRoman';font-style:italic;font-weight:bold;"&gt;Recently Adopted Accounting Pronouncements&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"&gt;&lt;span style="font-family:'TimesNewRoman';font-style:italic;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"&gt;In October 2021, the FASB issued ASU 2021-08, &#x201c;Accounting for Contract Assets and Contract Liabilities from Contracts with Customers&#x201d;.&#160; This standard improves the accounting for acquired revenue contracts with customers in a business combination by addressing diversity in practice and inconsistency related to recognition of an acquired contract liability, as well as payment terms and their effect on subsequent revenue recognized by the acquirer.  This standard became effective for us on January 1, 2023, and did not have a material impact to our financial statements upon adoption.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;</us-gaap:SignificantAccountingPoliciesTextBlock>
    <us-gaap:BasisOfAccountingPolicyPolicyTextBlock
      contextRef="Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA"
      id="Tb_diWz4xfiUUSurVUob4alXg">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"&gt;&lt;span style="font-family:'TimesNewRoman';font-style:italic;font-weight:bold;"&gt;Financial Statement Presentation.&lt;/span&gt;&lt;span style="font-family:'TimesNewRoman';"&gt; &#160;Our condensed consolidated financial statements have been developed in conformity with GAAP, which requires management to make estimates and assumptions. &#160;These estimates and assumptions affect the reported amounts of assets and liabilities and disclosures of contingent liabilities at the date of the financial statements, as well as the reported amounts of revenues and expenses during the reporting periods. &#160;Actual results could differ materially from these estimates. &#160;All intercompany transactions between TopBuild entities have been eliminated.&lt;/span&gt;&lt;/p&gt;</us-gaap:BasisOfAccountingPolicyPolicyTextBlock>
    <us-gaap:NewAccountingPronouncementsPolicyPolicyTextBlock
      contextRef="Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA"
      id="Tb_3eGPUaQhLE6Ms17v3Xn70g">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"&gt;&lt;span style="font-family:'TimesNewRoman';font-style:italic;font-weight:bold;"&gt;Recently Adopted Accounting Pronouncements&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"&gt;&lt;span style="font-family:'TimesNewRoman';font-style:italic;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"&gt;In October 2021, the FASB issued ASU 2021-08, &#x201c;Accounting for Contract Assets and Contract Liabilities from Contracts with Customers&#x201d;.&#160; This standard improves the accounting for acquired revenue contracts with customers in a business combination by addressing diversity in practice and inconsistency related to recognition of an acquired contract liability, as well as payment terms and their effect on subsequent revenue recognized by the acquirer.  This standard became effective for us on January 1, 2023, and did not have a material impact to our financial statements upon adoption.&lt;/p&gt;</us-gaap:NewAccountingPronouncementsPolicyPolicyTextBlock>
    <us-gaap:RevenueFromContractWithCustomerTextBlock
      contextRef="Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA"
      id="Tb_7wyxm73LVk2uTiiGZgNSjg">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"&gt;&lt;b style="font-family:'TimesNewRomanPSMT';font-weight:bold;"&gt;3. &#160;REVENUE RECOGNITION&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"&gt;Revenue is disaggregated between our Installation and Specialty Distribution segments and further &lt;span style="font-family:'TimesNewRomanPSMT';"&gt;based on market and product, as we believe this best depicts how the nature, amount, timing, and uncertainty of revenue and cash flows are affected by economic factors.&lt;/span&gt; &#160;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"&gt;&lt;span style="font-family:'TimesNewRomanPSMT';"&gt;The following table presents our revenues disaggregated by market (in thousands):&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"&gt;&lt;span style="font-family:'TimesNewRomanPSMT';visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:16.79%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.69%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.57%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:9.14%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.53%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.58%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.51%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:9.14%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.51%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.51%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:16.79%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.69%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="23" style="vertical-align:bottom;white-space:nowrap;width:82.51%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Three Months Ended March&#160;31,&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:16.79%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.69%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="11" style="vertical-align:bottom;white-space:nowrap;width:40.98%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2023&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="11" style="vertical-align:bottom;white-space:nowrap;width:41.02%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2022&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:16.79%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.69%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.57%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-size:8.5pt;font-weight:bold;"&gt;Installation&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8.5pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:8.5pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:9.14%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-size:8.5pt;font-weight:bold;"&gt;Specialty Distribution&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:8.5pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:8.5pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-size:8.5pt;font-weight:bold;"&gt;Eliminations&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:8.5pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:8.5pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.53%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-size:8.5pt;font-weight:bold;"&gt;Total&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:8.5pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:8.5pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.58%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-size:8.5pt;font-weight:bold;"&gt;Installation&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.51%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8.5pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:8.5pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:9.14%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-size:8.5pt;font-weight:bold;"&gt;Specialty Distribution&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.51%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:8.5pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:8.5pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-size:8.5pt;font-weight:bold;"&gt;Eliminations&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.51%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:8.5pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:8.5pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-size:8.5pt;font-weight:bold;"&gt;Total&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:16.79%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;Residential&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.69%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.57%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 645,703&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.49%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.14%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 224,326&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.49%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.54%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt;"&gt; (51,390)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.49%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.53%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 818,639&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.58%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 563,303&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.51%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.14%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 236,411&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.51%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.54%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt;"&gt; (43,421)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.51%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.49%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 756,293&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:16.79%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;Commercial/Industrial&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.69%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.57%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 121,387&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.14%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 334,049&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt;"&gt; (8,837)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.53%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 446,599&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.58%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 113,390&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.51%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.14%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 307,451&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.51%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt;"&gt; (8,216)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.51%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 412,625&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:16.79%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt 0pt 0pt 6pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;   Net sales&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.69%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.57%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 767,090&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.49%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.14%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 558,375&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.49%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.54%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt;"&gt; (60,227)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.49%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.53%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,265,238&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.58%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 676,693&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.51%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.14%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 543,862&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.51%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.54%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt;"&gt; (51,637)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.51%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.49%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,168,918&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"&gt;&lt;span style="font-family:'TimesNewRomanPSMT';visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"&gt;&lt;span style="font-family:'TimesNewRomanPSMT';"&gt;The following table presents our revenues disaggregated by product (in thousands):&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"&gt;&lt;span style="font-family:'TimesNewRomanPSMT';visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:19.36%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.7%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.07%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.06%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:9.14%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.06%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.54%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.06%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.54%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.06%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.57%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.06%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:9.14%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.06%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.54%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.06%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.51%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:19.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.7%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="23" style="vertical-align:bottom;white-space:nowrap;width:79.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Three Months Ended March&#160;31,&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:19.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.7%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="11" style="vertical-align:bottom;white-space:nowrap;width:40.2%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2023&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.06%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="11" style="vertical-align:bottom;white-space:nowrap;width:39.66%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2022&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:19.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.7%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.07%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-size:8.5pt;font-weight:bold;"&gt;Installation&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.06%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8.5pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:8.5pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:9.14%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-size:8.5pt;font-weight:bold;"&gt;Specialty Distribution&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.06%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:8.5pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:8.5pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-size:8.5pt;font-weight:bold;"&gt;Eliminations&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.06%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:8.5pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:8.5pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-size:8.5pt;font-weight:bold;"&gt;Total&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.06%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:8.5pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:8.5pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.57%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-size:8.5pt;font-weight:bold;"&gt;Installation&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.06%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8.5pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:8.5pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:9.14%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-size:8.5pt;font-weight:bold;"&gt;Specialty Distribution&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.06%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:8.5pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:8.5pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-size:8.5pt;font-weight:bold;"&gt;Eliminations&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.06%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:8.5pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:8.5pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.51%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-size:8.5pt;font-weight:bold;"&gt;Total&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:19.36%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;Insulation and accessories&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.7%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.07%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 600,767&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.06%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.14%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 502,802&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.06%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.54%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt;"&gt; (51,973)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.06%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.54%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,051,596&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.06%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.57%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 536,341&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.06%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.14%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 479,760&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.06%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.54%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt;"&gt; (43,810)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.06%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.51%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 972,291&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:19.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;Glass and windows&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.7%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.07%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 63,442&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.06%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.14%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; -&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.06%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3.6pt 0pt 0pt;"&gt;&lt;span style="font-family:'Arial','Helvetica','sans-serif';"&gt; -&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.06%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 63,442&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.06%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.57%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 51,196&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.06%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.14%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3.6pt 0pt 0pt;"&gt;&lt;span style="font-family:'Arial','Helvetica','sans-serif';"&gt; -&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.06%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3.6pt 0pt 0pt;"&gt;&lt;span style="font-family:'Arial','Helvetica','sans-serif';"&gt; -&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.06%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.51%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 51,196&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:19.36%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;Gutters&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.7%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.07%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 28,278&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.06%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.14%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 39,842&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.06%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.54%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt;"&gt; (7,165)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.06%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.54%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 60,955&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.06%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.57%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 22,957&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.06%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.14%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 46,631&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.06%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.54%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt;"&gt; (7,002)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.06%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.51%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 62,586&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:19.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;All other&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.7%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.07%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 74,603&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.06%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.14%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 15,731&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.06%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt;"&gt; (1,089)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.06%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 89,245&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.06%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.57%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 66,199&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.06%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.14%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 17,471&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.06%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt;"&gt; (825)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.06%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.51%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 82,845&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:19.36%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;        Net sales&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.7%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.07%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 767,090&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.06%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.14%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 558,375&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.06%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.54%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt;"&gt; (60,227)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.06%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.54%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,265,238&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.06%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.57%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 676,693&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.06%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.14%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 543,862&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.06%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.54%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt;"&gt; (51,637)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.06%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.51%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,168,918&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"&gt;&lt;span style="font-family:'TimesNewRomanPSMT';visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"&gt;The following table represents our contract assets and contract liabilities with customers, in thousands:&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:34.66%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:34.66%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.26%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.3%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:34.66%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:34.66%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Included in Line Item on&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:1.52%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:29.13%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;As of &lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:34.66%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:34.66%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Condensed Consolidated&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:1.52%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.78%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;March&#160;31,&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.82%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;December&#160;31,&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:34.66%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:34.66%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Balance Sheets&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:1.52%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.78%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2023&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.82%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2022&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:34.66%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;Contract Assets:&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:34.66%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.52%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.52%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.26%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.52%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.52%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.3%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:34.66%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;"&gt;Receivables, unbilled&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:34.66%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"&gt;Receivables, net&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.26%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 78,034&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.3%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 75,481&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:34.66%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:34.66%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.52%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.52%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.26%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.52%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.52%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.3%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:34.66%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;Contract Liabilities:&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:34.66%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.26%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.3%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:34.66%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;"&gt;Deferred revenue&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:34.66%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"&gt;Accrued liabilities&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.52%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.52%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.26%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 20,738&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.52%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.52%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.3%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 21,940&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"&gt;&lt;span style="font-family:'TimesNewRomanPSMT';"&gt;The aggregate amount remaining on uncompleted performance obligations was &lt;/span&gt;&lt;span style="font-family:'TimesNewRomanPSMT';"&gt;$395.5&lt;/span&gt;&lt;span style="font-family:'TimesNewRomanPSMT';"&gt; million as of March 31, 2023. We expect to satisfy the performance obligations and recognize revenue on substantially all of these uncompleted contracts &lt;/span&gt;&lt;span style="font-family:'TimesNewRomanPSMT';"&gt;over the next 18 months&lt;/span&gt;&lt;span style="font-family:'TimesNewRomanPSMT';"&gt;.&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"&gt;&lt;span style="font-family:'TimesNewRomanPSMT';visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"&gt;&lt;span style="font-family:'TimesNewRomanPSMT';"&gt;On certain of our long-term contracts, a percentage of the total project cost is withheld and not invoiced to the customer and collected until satisfactory completion of the customer&lt;/span&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';"&gt;&#x2019;&lt;/span&gt;&lt;span style="font-family:'TimesNewRomanPSMT';"&gt;s project, typically within a year. &#160;This amount is referred to as retainage and is common practice in the construction industry. &#160;&lt;/span&gt;Retainage receivables are classified as a component of Receivables, net on our condensed consolidated balance sheets and were $66.7 million and $63.0 million as of March 31, 2023 and December 31, 2022, respectively.&lt;/p&gt;</us-gaap:RevenueFromContractWithCustomerTextBlock>
    <us-gaap:DisaggregationOfRevenueTableTextBlock
      contextRef="Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA"
      id="Tb_YAYmmpGGiUyNL1Ca96pNVw">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"&gt;&lt;span style="font-family:'TimesNewRomanPSMT';visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:16.79%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.69%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.57%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:9.14%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.53%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.58%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.51%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:9.14%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.51%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.51%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:16.79%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.69%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="23" style="vertical-align:bottom;white-space:nowrap;width:82.51%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Three Months Ended March&#160;31,&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:16.79%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.69%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="11" style="vertical-align:bottom;white-space:nowrap;width:40.98%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2023&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="11" style="vertical-align:bottom;white-space:nowrap;width:41.02%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2022&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:16.79%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.69%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.57%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-size:8.5pt;font-weight:bold;"&gt;Installation&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8.5pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:8.5pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:9.14%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-size:8.5pt;font-weight:bold;"&gt;Specialty Distribution&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:8.5pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:8.5pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-size:8.5pt;font-weight:bold;"&gt;Eliminations&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:8.5pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:8.5pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.53%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-size:8.5pt;font-weight:bold;"&gt;Total&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:8.5pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:8.5pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.58%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-size:8.5pt;font-weight:bold;"&gt;Installation&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.51%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8.5pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:8.5pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:9.14%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-size:8.5pt;font-weight:bold;"&gt;Specialty Distribution&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.51%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:8.5pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:8.5pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-size:8.5pt;font-weight:bold;"&gt;Eliminations&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.51%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:8.5pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:8.5pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-size:8.5pt;font-weight:bold;"&gt;Total&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:16.79%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;Residential&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.69%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.57%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 645,703&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.49%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.14%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 224,326&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.49%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.54%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt;"&gt; (51,390)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.49%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.53%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 818,639&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.58%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 563,303&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.51%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.14%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 236,411&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.51%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.54%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt;"&gt; (43,421)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.51%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.49%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 756,293&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:16.79%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;Commercial/Industrial&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.69%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.57%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 121,387&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.14%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 334,049&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt;"&gt; (8,837)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.53%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 446,599&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.58%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 113,390&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.51%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.14%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 307,451&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.51%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt;"&gt; (8,216)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.51%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 412,625&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:16.79%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt 0pt 0pt 6pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;   Net sales&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.69%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.57%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 767,090&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.49%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.14%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 558,375&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.49%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.54%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt;"&gt; (60,227)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.49%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.53%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,265,238&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.58%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 676,693&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.51%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.14%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 543,862&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.51%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.54%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt;"&gt; (51,637)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.51%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.49%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,168,918&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"&gt;&lt;span style="font-family:'TimesNewRomanPSMT';visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"&gt;&lt;span style="font-family:'TimesNewRomanPSMT';"&gt;The following table presents our revenues disaggregated by product (in thousands):&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"&gt;&lt;span style="font-family:'TimesNewRomanPSMT';visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:19.36%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.7%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.07%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.06%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:9.14%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.06%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.54%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.06%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.54%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.06%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.57%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.06%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:9.14%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.06%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.54%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.06%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.51%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:19.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.7%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="23" style="vertical-align:bottom;white-space:nowrap;width:79.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Three Months Ended March&#160;31,&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:19.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.7%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="11" style="vertical-align:bottom;white-space:nowrap;width:40.2%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2023&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.06%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="11" style="vertical-align:bottom;white-space:nowrap;width:39.66%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2022&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:19.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.7%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.07%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-size:8.5pt;font-weight:bold;"&gt;Installation&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.06%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8.5pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:8.5pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:9.14%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-size:8.5pt;font-weight:bold;"&gt;Specialty Distribution&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.06%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:8.5pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:8.5pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-size:8.5pt;font-weight:bold;"&gt;Eliminations&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.06%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:8.5pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:8.5pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-size:8.5pt;font-weight:bold;"&gt;Total&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.06%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:8.5pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:8.5pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.57%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-size:8.5pt;font-weight:bold;"&gt;Installation&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.06%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8.5pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:8.5pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:9.14%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-size:8.5pt;font-weight:bold;"&gt;Specialty Distribution&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.06%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:8.5pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:8.5pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-size:8.5pt;font-weight:bold;"&gt;Eliminations&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.06%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:8.5pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:8.5pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.51%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-size:8.5pt;font-weight:bold;"&gt;Total&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:19.36%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;Insulation and accessories&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.7%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.07%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 600,767&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.06%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.14%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 502,802&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.06%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.54%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt;"&gt; (51,973)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.06%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.54%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,051,596&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.06%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.57%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 536,341&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.06%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.14%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 479,760&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.06%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.54%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt;"&gt; (43,810)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.06%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.51%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 972,291&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:19.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;Glass and windows&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.7%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.07%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 63,442&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.06%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.14%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; -&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.06%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3.6pt 0pt 0pt;"&gt;&lt;span style="font-family:'Arial','Helvetica','sans-serif';"&gt; -&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.06%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 63,442&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.06%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.57%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 51,196&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.06%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.14%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3.6pt 0pt 0pt;"&gt;&lt;span style="font-family:'Arial','Helvetica','sans-serif';"&gt; -&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.06%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3.6pt 0pt 0pt;"&gt;&lt;span style="font-family:'Arial','Helvetica','sans-serif';"&gt; -&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.06%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.51%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 51,196&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:19.36%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;Gutters&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.7%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.07%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 28,278&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.06%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.14%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 39,842&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.06%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.54%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt;"&gt; (7,165)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.06%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.54%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 60,955&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.06%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.57%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 22,957&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.06%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.14%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 46,631&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.06%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.54%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt;"&gt; (7,002)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.06%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.51%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 62,586&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:19.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;All other&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.7%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.07%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 74,603&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.06%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.14%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 15,731&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.06%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt;"&gt; (1,089)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.06%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 89,245&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.06%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.57%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 66,199&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.06%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.14%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 17,471&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.06%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt;"&gt; (825)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.06%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.51%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 82,845&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:19.36%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;        Net sales&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.7%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.07%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 767,090&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.06%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.14%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 558,375&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.06%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.54%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt;"&gt; (60,227)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.06%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.54%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,265,238&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.06%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.57%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 676,693&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.06%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.14%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 543,862&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.06%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.54%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt;"&gt; (51,637)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.06%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.51%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,168,918&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"&gt;&lt;span style="font-family:'TimesNewRomanPSMT';visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;</us-gaap:DisaggregationOfRevenueTableTextBlock>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_1_1_2023_To_3_31_2023_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_srt_MajorCustomersAxis_bld_ResidentialMember_us-gaap_StatementBusinessSegmentsAxis_bld_InstallationSegmentMember_pYUq_of_y0SxcZdlaU8_Mw"
      decimals="-3"
      id="Tc_OnlY7-GFZ0uNMcjLfXa7Sw_4_3"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">645703000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_1_1_2023_To_3_31_2023_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_srt_MajorCustomersAxis_bld_ResidentialMember_us-gaap_StatementBusinessSegmentsAxis_bld_DistributionSegmentMember_rCbAEpjGAEmYhiqgf9uh7A"
      decimals="-3"
      id="Tc_aUeS1A1EZkqHMPKNjkMs1w_4_6"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">224326000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_1_1_2023_To_3_31_2023_srt_ConsolidationItemsAxis_bld_EliminationsAndReconcilingItemsMember_srt_MajorCustomersAxis_bld_ResidentialMember_S4KNaqCrrkWQNZvrh9KDVA"
      decimals="-3"
      id="Tc_gNwiV9tZkEm7Jak0Amqw6Q_4_9"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">-51390000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_1_1_2023_To_3_31_2023_srt_MajorCustomersAxis_bld_ResidentialMember_5N41Eem5bEu5s4fKT46eEA"
      decimals="-3"
      id="Tc_SYktqKBt3EKWSNs341dh1A_4_12"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">818639000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_1_1_2022_To_3_31_2022_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_srt_MajorCustomersAxis_bld_ResidentialMember_us-gaap_StatementBusinessSegmentsAxis_bld_InstallationSegmentMember_NFbyySvUPkCsJfUd-XqkiA"
      decimals="-3"
      id="Tc_xp4YJGN_d06NQiOPCx_VbQ_4_15"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">563303000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_1_1_2022_To_3_31_2022_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_srt_MajorCustomersAxis_bld_ResidentialMember_us-gaap_StatementBusinessSegmentsAxis_bld_DistributionSegmentMember_lze11hWxMEi_fU2CVT-zkQ"
      decimals="-3"
      id="Tc_1jXirFhlPUC1MugM_8ORTw_4_18"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">236411000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_1_1_2022_To_3_31_2022_srt_ConsolidationItemsAxis_bld_EliminationsAndReconcilingItemsMember_srt_MajorCustomersAxis_bld_ResidentialMember_ydzOmEY-fk-yMuuMCfgUMg"
      decimals="-3"
      id="Tc_slKA7NTD0U2IqX3uPFvfmQ_4_21"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">-43421000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_1_1_2022_To_3_31_2022_srt_MajorCustomersAxis_bld_ResidentialMember_Ffpufus4TkuHFL9VfWYCpA"
      decimals="-3"
      id="Tc_gkf_fhgwq02c9xs_-2QYPQ_4_24"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">756293000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_1_1_2023_To_3_31_2023_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_srt_MajorCustomersAxis_bld_CommercialAndIndustrialMember_us-gaap_StatementBusinessSegmentsAxis_bld_InstallationSegmentMember_l4jPlopJaE-gNKOSERSp0Q"
      decimals="-3"
      id="Tc_h4Q1ASxpj0CUYbKXYNQgOg_5_3"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">121387000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_1_1_2023_To_3_31_2023_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_srt_MajorCustomersAxis_bld_CommercialAndIndustrialMember_us-gaap_StatementBusinessSegmentsAxis_bld_DistributionSegmentMember_H_KoZsVa7E-ZHX4AAwaAlA"
      decimals="-3"
      id="Tc_AxB20yhKH0OAiWkPNMmaQg_5_6"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">334049000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_1_1_2023_To_3_31_2023_srt_ConsolidationItemsAxis_bld_EliminationsAndReconcilingItemsMember_srt_MajorCustomersAxis_bld_CommercialAndIndustrialMember_l3TWrBp3HkWZ9bbqfhisyA"
      decimals="-3"
      id="Tc_YG7hrEt6zEqaiV8v_rTlzg_5_9"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">-8837000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_1_1_2023_To_3_31_2023_srt_MajorCustomersAxis_bld_CommercialAndIndustrialMember_2ltJXfAl4kOb_mE9BLsP7Q"
      decimals="-3"
      id="Tc_6aoVjVNjr0esPSsUTcbkqQ_5_12"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">446599000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_1_1_2022_To_3_31_2022_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_srt_MajorCustomersAxis_bld_CommercialAndIndustrialMember_us-gaap_StatementBusinessSegmentsAxis_bld_InstallationSegmentMember_aw4uv_k6I06yoaSPOa2KPA"
      decimals="-3"
      id="Tc_Yvc1VZ-R2kK-tzoIhGV-UA_5_15"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">113390000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_1_1_2022_To_3_31_2022_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_srt_MajorCustomersAxis_bld_CommercialAndIndustrialMember_us-gaap_StatementBusinessSegmentsAxis_bld_DistributionSegmentMember_y2omgkBKmE-jk2I6gK5d_w"
      decimals="-3"
      id="Tc_BCnWCDI9uEKRMTD4TTdGbg_5_18"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">307451000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_1_1_2022_To_3_31_2022_srt_ConsolidationItemsAxis_bld_EliminationsAndReconcilingItemsMember_srt_MajorCustomersAxis_bld_CommercialAndIndustrialMember_Z08hTr-APkGnb1QEQOH7ig"
      decimals="-3"
      id="Tc_T6gXwIGEK0Cs9Rjl-kHahA_5_21"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">-8216000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_1_1_2022_To_3_31_2022_srt_MajorCustomersAxis_bld_CommercialAndIndustrialMember_81zU0sk_KUmUaSYu8r0Ajw"
      decimals="-3"
      id="Tc_kXJT8_5S6kmDT3ipzZECSA_5_24"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">412625000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_1_1_2023_To_3_31_2023_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_bld_InstallationSegmentMember_p7381by8A0iuH_K9pq6dkA"
      decimals="-3"
      id="Tc_KNOvIB2br0m12Gfp601-kQ_6_3"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">767090000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_1_1_2023_To_3_31_2023_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_bld_DistributionSegmentMember_npMAeLxndk2Y3vlwNf6M1Q"
      decimals="-3"
      id="Tc_N-5F0mxP1UW6FcMiOERQSw_6_6"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">558375000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_1_1_2023_To_3_31_2023_srt_ConsolidationItemsAxis_bld_EliminationsAndReconcilingItemsMember_xw6hySBBTUaxt494YNJgiw"
      decimals="-3"
      id="Tc_dvWLjF8pOkCj_sJoHlFEwA_6_9"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">-60227000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA"
      decimals="-3"
      id="Tc_luazpjAguEOm9FVCHgEhCQ_6_12"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">1265238000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_1_1_2022_To_3_31_2022_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_bld_InstallationSegmentMember_P5TLAe2eDUmNeH4h43zM0A"
      decimals="-3"
      id="Tc_MAPrYmvc50CQYY5CKaTzrQ_6_15"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">676693000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_1_1_2022_To_3_31_2022_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_bld_DistributionSegmentMember_a9OaAUHgnEO4Vuy42sZdWA"
      decimals="-3"
      id="Tc_Rt042tQZVEieIK4R7_X0JQ_6_18"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">543862000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_1_1_2022_To_3_31_2022_srt_ConsolidationItemsAxis_bld_EliminationsAndReconcilingItemsMember_ebPp6BUowk-vYsFfG3_Cew"
      decimals="-3"
      id="Tc_p_L178PonE2A7pKEhnuL_w_6_21"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">-51637000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_1_1_2022_To_3_31_2022_6vn3vE91T0CiaH7EkBeDAw"
      decimals="-3"
      id="Tc_65vzMxd_PEaVLPE7dEW__Q_6_24"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">1168918000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_1_1_2023_To_3_31_2023_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_srt_ProductOrServiceAxis_bld_InsulationAndAccessoriesMember_us-gaap_StatementBusinessSegmentsAxis_bld_InstallationSegmentMember_ls0M8rPlDkiOjefb6yS8wg"
      decimals="-3"
      id="Tc_6OObhu2FM0eyBSszxXL1BQ_4_3"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">600767000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_1_1_2023_To_3_31_2023_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_srt_ProductOrServiceAxis_bld_InsulationAndAccessoriesMember_us-gaap_StatementBusinessSegmentsAxis_bld_DistributionSegmentMember_vAFdzEmuE0Sqn-v0fbhXwg"
      decimals="-3"
      id="Tc_9VYtpZIoC0KkrsLcc3CIfw_4_6"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">502802000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_1_1_2023_To_3_31_2023_srt_ConsolidationItemsAxis_bld_EliminationsAndReconcilingItemsMember_srt_ProductOrServiceAxis_bld_InsulationAndAccessoriesMember_E7gatzAIu0ey-mxgIBiUlw"
      decimals="-3"
      id="Tc_eyW5yyAneUm4I8UBm1xsqw_4_9"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">-51973000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_1_1_2023_To_3_31_2023_srt_ProductOrServiceAxis_bld_InsulationAndAccessoriesMember_L5LZUP6RMEGnhSJNnaUp1A"
      decimals="-3"
      id="Tc_eHjXPOSbm0esuRQhwMKtLA_4_12"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">1051596000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_1_1_2022_To_3_31_2022_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_srt_ProductOrServiceAxis_bld_InsulationAndAccessoriesMember_us-gaap_StatementBusinessSegmentsAxis_bld_InstallationSegmentMember_QReZvRj-hU-I3P_KcWapzg"
      decimals="-3"
      id="Tc_fbXQLLtubkyp0Oqd6lmrnw_4_15"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">536341000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_1_1_2022_To_3_31_2022_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_srt_ProductOrServiceAxis_bld_InsulationAndAccessoriesMember_us-gaap_StatementBusinessSegmentsAxis_bld_DistributionSegmentMember_k5s7Ov2MNkOrjMg3RtUbKA"
      decimals="-3"
      id="Tc_HjJf8MyJ1kaEv49LYLVwnw_4_18"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">479760000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_1_1_2022_To_3_31_2022_srt_ConsolidationItemsAxis_bld_EliminationsAndReconcilingItemsMember_srt_ProductOrServiceAxis_bld_InsulationAndAccessoriesMember_9TA4C2yswUq_MhmHylURnQ"
      decimals="-3"
      id="Tc_aWLIEPyynk2EB5OnMor5xQ_4_21"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">-43810000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_1_1_2022_To_3_31_2022_srt_ProductOrServiceAxis_bld_InsulationAndAccessoriesMember_zKriEKongU6nXLrngCbm0A"
      decimals="-3"
      id="Tc_QyljAbReV0iDONQVSfzKsQ_4_24"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">972291000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_1_1_2023_To_3_31_2023_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_srt_ProductOrServiceAxis_bld_GlassAndWindowsMember_us-gaap_StatementBusinessSegmentsAxis_bld_InstallationSegmentMember_m6HhV_9kBky5WNYd6Rdmiw"
      decimals="-3"
      id="Tc_w11x98Jm_02ON05Kpw1Dhw_5_3"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">63442000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_1_1_2023_To_3_31_2023_srt_ProductOrServiceAxis_bld_GlassAndWindowsMember_cntT6-h4SE-cLpqU3KXwsw"
      decimals="-3"
      id="Tc_hH8TKiE4tU28bjJZs-WfAQ_5_12"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">63442000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_1_1_2022_To_3_31_2022_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_srt_ProductOrServiceAxis_bld_GlassAndWindowsMember_us-gaap_StatementBusinessSegmentsAxis_bld_InstallationSegmentMember_pKvFAuIKkkqeJMhSaaVq9A"
      decimals="-3"
      id="Tc_My3InUaxgECBgYFLOCW_yQ_5_15"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">51196000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_1_1_2022_To_3_31_2022_srt_ProductOrServiceAxis_bld_GlassAndWindowsMember_cPIg16c4T0uxKhIbAzLcOQ"
      decimals="-3"
      id="Tc_nCBWsuDMS0GDbySKkRpV0Q_5_24"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">51196000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_1_1_2023_To_3_31_2023_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_srt_ProductOrServiceAxis_bld_RainGuttersMember_us-gaap_StatementBusinessSegmentsAxis_bld_InstallationSegmentMember_S5g4dfB2OUGxXfT_s7Ahpg"
      decimals="-3"
      id="Tc_t_3gWkuxhUKU5QKU5e8-UQ_6_3"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">28278000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_1_1_2023_To_3_31_2023_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_srt_ProductOrServiceAxis_bld_RainGuttersMember_us-gaap_StatementBusinessSegmentsAxis_bld_DistributionSegmentMember_VRZZXok16US1qjAj47aghA"
      decimals="-3"
      id="Tc_ra9_6f04mESNdBHVhDkCIA_6_6"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">39842000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_1_1_2023_To_3_31_2023_srt_ConsolidationItemsAxis_bld_EliminationsAndReconcilingItemsMember_srt_ProductOrServiceAxis_bld_RainGuttersMember_-d9sxYyMYk-7pj_qAs_wRg"
      decimals="-3"
      id="Tc_ziRi0wrW6EqWkoIlUYGSew_6_9"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">-7165000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_1_1_2023_To_3_31_2023_srt_ProductOrServiceAxis_bld_RainGuttersMember_8e6JKrlvp0OLdro1HOHeDA"
      decimals="-3"
      id="Tc_ARDsyce2UUe0wcqwaxL68w_6_12"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">60955000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_1_1_2022_To_3_31_2022_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_srt_ProductOrServiceAxis_bld_RainGuttersMember_us-gaap_StatementBusinessSegmentsAxis_bld_InstallationSegmentMember_iPBtGyRvK0-AFg1CyvjKYg"
      decimals="-3"
      id="Tc_HJO1NVPek0i35aY-dXmbQA_6_15"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">22957000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_1_1_2022_To_3_31_2022_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_srt_ProductOrServiceAxis_bld_RainGuttersMember_us-gaap_StatementBusinessSegmentsAxis_bld_DistributionSegmentMember_Ek2F0THkAk-RTj7FVRH4DQ"
      decimals="-3"
      id="Tc_pk4O3zbez0-Lhyem_vu-4w_6_18"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">46631000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_1_1_2022_To_3_31_2022_srt_ConsolidationItemsAxis_bld_EliminationsAndReconcilingItemsMember_srt_ProductOrServiceAxis_bld_RainGuttersMember_ga29bOwVn0SpCfIv5Zyn2g"
      decimals="-3"
      id="Tc_7vGkEYo4yEeq6MyEwdkZhw_6_21"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">-7002000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_1_1_2022_To_3_31_2022_srt_ProductOrServiceAxis_bld_RainGuttersMember_o9PUXKrBikSA4fF9MpRzyw"
      decimals="-3"
      id="Tc_5avwl6Cmq0WYBRvdUgolwA_6_24"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">62586000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_1_1_2023_To_3_31_2023_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_srt_ProductOrServiceAxis_bld_AllOtherProductsMember_us-gaap_StatementBusinessSegmentsAxis_bld_InstallationSegmentMember_aTlmtepgD06zikbyhK_MLA"
      decimals="-3"
      id="Tc_qGdHDfFR70CBEZ1M9bUHdg_7_3"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">74603000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_1_1_2023_To_3_31_2023_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_srt_ProductOrServiceAxis_bld_AllOtherProductsMember_us-gaap_StatementBusinessSegmentsAxis_bld_DistributionSegmentMember_sYDxsSBhtEGWo1QAuLjHfg"
      decimals="-3"
      id="Tc__yuFwmpWkUG301yczUy3Hg_7_6"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">15731000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_1_1_2023_To_3_31_2023_srt_ConsolidationItemsAxis_bld_EliminationsAndReconcilingItemsMember_srt_ProductOrServiceAxis_bld_AllOtherProductsMember_HcDaop6gVUGdBVT3S3ZBhQ"
      decimals="-3"
      id="Tc_KWNsr1FC90av2sqGqpIKgA_7_9"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">-1089000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_1_1_2023_To_3_31_2023_srt_ProductOrServiceAxis_bld_AllOtherProductsMember_jJ2egjp9UUiJ-j3WTIZqgA"
      decimals="-3"
      id="Tc_Wtj_jrADykq_jNIxi_bGmg_7_12"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">89245000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_1_1_2022_To_3_31_2022_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_srt_ProductOrServiceAxis_bld_AllOtherProductsMember_us-gaap_StatementBusinessSegmentsAxis_bld_InstallationSegmentMember_zfYn5aLYMUyQD4u_hnEL4A"
      decimals="-3"
      id="Tc_Vedmg9G_mk2ikai0ikRkkg_7_15"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">66199000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_1_1_2022_To_3_31_2022_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_srt_ProductOrServiceAxis_bld_AllOtherProductsMember_us-gaap_StatementBusinessSegmentsAxis_bld_DistributionSegmentMember_REyE7sf8pUaefnGqFfBj_Q"
      decimals="-3"
      id="Tc_peGQoiYdSE6TC8Kwk0cQOQ_7_18"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">17471000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_1_1_2022_To_3_31_2022_srt_ConsolidationItemsAxis_bld_EliminationsAndReconcilingItemsMember_srt_ProductOrServiceAxis_bld_AllOtherProductsMember_fWytx25M-kuxwriuez2Iow"
      decimals="-3"
      id="Tc_qJTrLn01Tki8qQkMAO3WwQ_7_21"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">-825000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_1_1_2022_To_3_31_2022_srt_ProductOrServiceAxis_bld_AllOtherProductsMember_ZQ4WTqe_7EmxkByY0n2bGA"
      decimals="-3"
      id="Tc_6ENoSwX8d0WYGVN-d0WEAw_7_24"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">82845000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_1_1_2023_To_3_31_2023_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_bld_InstallationSegmentMember_p7381by8A0iuH_K9pq6dkA"
      decimals="-3"
      id="Tc_h-KNNur6nkaDaqOPCFVi8A_8_3"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">767090000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_1_1_2023_To_3_31_2023_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_bld_DistributionSegmentMember_npMAeLxndk2Y3vlwNf6M1Q"
      decimals="-3"
      id="Tc_OkGK1Fws40SzcwJPHo80Qg_8_6"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">558375000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_1_1_2023_To_3_31_2023_srt_ConsolidationItemsAxis_bld_EliminationsAndReconcilingItemsMember_xw6hySBBTUaxt494YNJgiw"
      decimals="-3"
      id="Tc_UB589TanbUWzJAeVY5fzoA_8_9"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">-60227000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA"
      decimals="-3"
      id="Tc_5hSbDVwfs0iBGQEd4Y8j7g_8_12"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">1265238000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_1_1_2022_To_3_31_2022_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_bld_InstallationSegmentMember_P5TLAe2eDUmNeH4h43zM0A"
      decimals="-3"
      id="Tc_S3u6Fl_Ll0GdzTVplDSDYw_8_15"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">676693000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_1_1_2022_To_3_31_2022_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_bld_DistributionSegmentMember_a9OaAUHgnEO4Vuy42sZdWA"
      decimals="-3"
      id="Tc_tBf_o8mwokqVZ1JNyJzHrw_8_18"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">543862000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_1_1_2022_To_3_31_2022_srt_ConsolidationItemsAxis_bld_EliminationsAndReconcilingItemsMember_ebPp6BUowk-vYsFfG3_Cew"
      decimals="-3"
      id="Tc_3xnmtQXdBE2NkVtUcQtl6A_8_21"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">-51637000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_1_1_2022_To_3_31_2022_6vn3vE91T0CiaH7EkBeDAw"
      decimals="-3"
      id="Tc_nGwThn8ehkq-DBj3Ttav4w_8_24"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">1168918000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:ContractWithCustomerAssetAndLiabilityTableTextBlock
      contextRef="Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA"
      id="Tb_t-tDW3bvvUa0C5JukiFE4Q">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"&gt;The following table represents our contract assets and contract liabilities with customers, in thousands:&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:34.66%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:34.66%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.26%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.3%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:34.66%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:34.66%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Included in Line Item on&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:1.52%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:29.13%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;As of &lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:34.66%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:34.66%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Condensed Consolidated&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:1.52%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.78%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;March&#160;31,&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.82%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;December&#160;31,&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:34.66%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:34.66%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Balance Sheets&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:1.52%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.78%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2023&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.82%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2022&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:34.66%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;Contract Assets:&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:34.66%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.52%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.52%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.26%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.52%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.52%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.3%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:34.66%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;"&gt;Receivables, unbilled&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:34.66%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"&gt;Receivables, net&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.26%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 78,034&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.3%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 75,481&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:34.66%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:34.66%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.52%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.52%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.26%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.52%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.52%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.3%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:34.66%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;Contract Liabilities:&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:34.66%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.26%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.3%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:34.66%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;"&gt;Deferred revenue&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:34.66%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"&gt;Accrued liabilities&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.52%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.52%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.26%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 20,738&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.52%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.52%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.3%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 21,940&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;</us-gaap:ContractWithCustomerAssetAndLiabilityTableTextBlock>
    <us-gaap:ContractWithCustomerAssetNetCurrent
      contextRef="As_Of_3_31_2023_us-gaap_BalanceSheetLocationAxis_bld_ReceivablesNetMember_8cEgtfuIgE2dSs8eHeX7rw"
      decimals="-3"
      id="Tc_JQYYxQG0N0SEKGzdp0vrgQ_5_4"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">78034000</us-gaap:ContractWithCustomerAssetNetCurrent>
    <us-gaap:ContractWithCustomerAssetNetCurrent
      contextRef="As_Of_12_31_2022_us-gaap_BalanceSheetLocationAxis_bld_ReceivablesNetMember_gEHjoQLLCUeBknQu80_2JA"
      decimals="-3"
      id="Tc_txUXIq08Y0ioQNdAH0Kj8Q_5_7"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">75481000</us-gaap:ContractWithCustomerAssetNetCurrent>
    <us-gaap:ContractWithCustomerLiabilityCurrent
      contextRef="As_Of_3_31_2023_us-gaap_BalanceSheetLocationAxis_us-gaap_AccruedLiabilitiesMember_YtTS19248ECVOj5oYwZIvw"
      decimals="-3"
      id="Tc_Nd1EBbyH60yB2L97_pPFog_8_4"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">20738000</us-gaap:ContractWithCustomerLiabilityCurrent>
    <us-gaap:ContractWithCustomerLiabilityCurrent
      contextRef="As_Of_12_31_2022_us-gaap_BalanceSheetLocationAxis_us-gaap_AccruedLiabilitiesMember_fbKXh7_lZ0Wz_E4UrRbZJw"
      decimals="-3"
      id="Tc_NmyqImnb4UiNJ5Vi--_Fyw_8_7"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">21940000</us-gaap:ContractWithCustomerLiabilityCurrent>
    <us-gaap:RevenueRemainingPerformanceObligation
      contextRef="As_Of_3_31_2023_if5iG1tra0aH_pegPPBopw"
      decimals="-5"
      id="Narr_kt0n6lHyhEyN6DHXvc9NJw"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">395500000</us-gaap:RevenueRemainingPerformanceObligation>
    <us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionExplanation
      contextRef="Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA"
      id="Narr_OceJh7ZlPkCXdXD3n7JVMA">over the next 18 months</us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionExplanation>
    <us-gaap:ConstructionContractorReceivableRetainage
      contextRef="As_Of_3_31_2023_us-gaap_BalanceSheetLocationAxis_bld_ReceivablesNetMember_8cEgtfuIgE2dSs8eHeX7rw"
      decimals="-5"
      id="Narr_M06nZsGlvEaXU7uFP0AjdA"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">66700000</us-gaap:ConstructionContractorReceivableRetainage>
    <us-gaap:ConstructionContractorReceivableRetainage
      contextRef="As_Of_12_31_2022_us-gaap_BalanceSheetLocationAxis_bld_ReceivablesNetMember_gEHjoQLLCUeBknQu80_2JA"
      decimals="-5"
      id="Narr_AC2-GWhqs0Gxim1nvRJ-GQ"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">63000000.0</us-gaap:ConstructionContractorReceivableRetainage>
    <us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock
      contextRef="Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA"
      id="Tb_1IAB4haKrkeBPhIhVu5UuQ">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;4. &#160;GOODWILL AND OTHER INTANGIBLES&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"&gt;We have two reporting units which are also our operating and reporting segments: Installation and Specialty Distribution. Both reporting units contain goodwill. Assets acquired and liabilities assumed are assigned to the applicable reporting unit based on whether the acquired assets and liabilities relate to the operations of and determination of the fair value of such unit. &#160;Goodwill assigned to the reporting unit is the excess of the fair value of the acquired business&#160;over the fair value of the individual assets acquired and liabilities assumed for the reporting unit.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"&gt;In the fourth quarter of 2022, we performed an annual assessment on our goodwill resulting in no impairment and there were no indicators of impairment for the three months ended March 31, 2023.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"&gt;&lt;span style="visibility:hidden;background:#ffff00;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"&gt;Changes in the carrying amount of goodwill for three months ended March 31, 2023, by segment, were as follows, in thousands:&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:13.08%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:2.08%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.56%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.43%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:2.08%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.23%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.05%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:2.08%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:1.38%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.53%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:1.04%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.27%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.26%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:2.08%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.38%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:2.08%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.27%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.11%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:13.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:2.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;&lt;b style="font-family:'Arial','Helvetica','sans-serif';font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.56%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.43%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:2.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;&lt;b style="font-family:'Arial','Helvetica','sans-serif';font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:9pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:2.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;&lt;b style="font-family:'Arial','Helvetica','sans-serif';font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:9pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:1.04%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-family:'Arial','Helvetica','sans-serif';font-size:9pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.27%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.26%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:2.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;&lt;b style="font-family:'Arial','Helvetica','sans-serif';font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;Accumulated&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:2.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;&lt;b style="font-family:'Arial','Helvetica','sans-serif';font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.27%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.11%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:13.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:2.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Gross&#160;Goodwill&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;width:8.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:9pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:2.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Fx Translation&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:1.04%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.53%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Gross&#160;Goodwill&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:2.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Impairment&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:2.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.39%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Net&#160;Goodwill&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:2.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;December&#160;31,&#160;2022&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:2.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.29%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Additions&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:2.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Adjustment&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:1.04%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.53%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;March&#160;31,&#160;2023&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:2.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.32%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Losses&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:2.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.39%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;March&#160;31,&#160;2023&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:13.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;Goodwill, by segment:&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.56%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.43%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:9pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.23%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:9pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:1.38%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.53%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:9pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:1.04%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.27%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.26%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:9pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.38%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:9pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.27%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.11%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:9pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:13.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;"&gt;Installation&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:2.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.56%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.43%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,826,979&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:2.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.23%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 25,384&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:2.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.53%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; -&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:1.04%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.27%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.26%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,852,363&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt;"&gt; (762,021)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:2.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.27%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.11%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,090,342&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:13.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;"&gt;Specialty Distribution&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.56%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.43%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 902,036&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.23%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.05%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; -&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:1.38%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.53%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 16&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:1.04%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.27%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.26%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 902,052&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.38%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; -&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.27%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.11%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 902,052&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:13.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;Total goodwill&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:2.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;"&gt;&lt;span style="font-size:9pt;margin-left:0pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.56%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.43%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2,729,015&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:2.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;"&gt;&lt;span style="font-size:9pt;margin-left:0pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.23%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.05%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 25,384&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:2.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;"&gt;&lt;span style="font-size:9pt;margin-left:0pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.38%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.53%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 16&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:1.04%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;"&gt;&lt;span style="font-size:9pt;margin-left:0pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.27%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.26%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2,754,415&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:2.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;"&gt;&lt;span style="font-size:9pt;margin-left:0pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.93%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.38%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt;"&gt; (762,021)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:2.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;"&gt;&lt;span style="font-size:9pt;margin-left:0pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.27%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.11%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,992,394&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"&gt;&lt;span style="font-size:0pt;line-height:1.19;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:6pt 0pt 0pt 0pt;"&gt;See &lt;i style="font-style:italic;"&gt;Note 11 &#x2013; Business Combinations&lt;/i&gt; for goodwill recognized on acquisitions that occurred during the quarter.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"&gt;Other intangible assets, net includes customer relationships, non-compete agreements, and trademarks / trade names.&#160;&#160;The following table sets forth our other intangible assets, in thousands:&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"&gt;&lt;span style="font-size:0pt;line-height:1.19;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:57.75%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.01%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.01%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.08%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.01%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.01%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.08%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:57.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.01%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:9pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:40.22%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;As of&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:57.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.01%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:9pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:19.1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;March 31, 2023&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.01%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:9pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:19.1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;December 31, 2022&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:57.75%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;Gross definite-lived intangible assets&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.01%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.01%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 791,939&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.01%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.01%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 782,316&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:57.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;Accumulated amortization&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.01%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.01%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.08%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt;"&gt; (184,256)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.01%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.01%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.08%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt;"&gt; (167,349)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:57.75%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt 0pt 0pt 6pt;"&gt;Net definite-lived intangible assets&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.01%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.01%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.08%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 607,683&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.01%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.01%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.08%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 614,967&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"&gt;The following table sets forth our amortization expense, in thousands:&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:57.75%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.01%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.01%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.08%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.01%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.01%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.08%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:57.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.01%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:40.22%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Three Months Ended March&#160;31,&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:57.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.01%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:19.1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2023&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.01%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:19.1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2022&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:57.75%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;Amortization expense&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.01%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.01%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 16,896&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.01%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.01%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 17,825&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;</us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock>
    <us-gaap:NumberOfReportingUnits
      contextRef="Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA"
      decimals="INF"
      id="Narr_vAf7C1IPpEa6mOvPbB4Dqg"
      unitRef="Unit_Standard_item_GJgK42ZUUEmNd0DcF3veSw">2</us-gaap:NumberOfReportingUnits>
    <us-gaap:GoodwillImpairmentLoss
      contextRef="Duration_10_1_2022_To_12_31_2022_jfm3OEh2x0KwHgbOrODRyQ"
      decimals="-3"
      id="Narr_1xJvfB0NkEW_yH9ZQ1ytbw"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">0</us-gaap:GoodwillImpairmentLoss>
    <us-gaap:ScheduleOfGoodwillTextBlock
      contextRef="Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA"
      id="Tb_E-VN6TpYi0e6XPEZ4Aq9Eg">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"&gt;Changes in the carrying amount of goodwill for three months ended March 31, 2023, by segment, were as follows, in thousands:&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:13.08%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:2.08%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.56%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.43%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:2.08%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.23%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.05%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:2.08%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:1.38%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.53%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:1.04%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.27%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.26%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:2.08%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.38%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:2.08%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.27%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.11%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:13.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:2.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;&lt;b style="font-family:'Arial','Helvetica','sans-serif';font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.56%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.43%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:2.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;&lt;b style="font-family:'Arial','Helvetica','sans-serif';font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:9pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:2.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;&lt;b style="font-family:'Arial','Helvetica','sans-serif';font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:9pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:1.04%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-family:'Arial','Helvetica','sans-serif';font-size:9pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.27%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.26%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:2.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;&lt;b style="font-family:'Arial','Helvetica','sans-serif';font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;Accumulated&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:2.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;&lt;b style="font-family:'Arial','Helvetica','sans-serif';font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.27%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.11%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:13.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:2.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Gross&#160;Goodwill&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;width:8.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:9pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:2.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Fx Translation&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:1.04%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.53%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Gross&#160;Goodwill&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:2.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Impairment&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:2.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.39%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Net&#160;Goodwill&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:2.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;December&#160;31,&#160;2022&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:2.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.29%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Additions&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:2.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Adjustment&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:1.04%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.53%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;March&#160;31,&#160;2023&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:2.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.32%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Losses&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:2.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.39%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;March&#160;31,&#160;2023&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:13.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;Goodwill, by segment:&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.56%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.43%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:9pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.23%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:9pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:1.38%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.53%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:9pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:1.04%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.27%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.26%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:9pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.38%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:9pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.27%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.11%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:9pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:13.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;"&gt;Installation&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:2.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.56%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.43%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,826,979&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:2.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.23%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 25,384&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:2.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.53%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; -&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:1.04%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.27%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.26%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,852,363&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt;"&gt; (762,021)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:2.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.27%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.11%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,090,342&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:13.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;"&gt;Specialty Distribution&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.56%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.43%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 902,036&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.23%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.05%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; -&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:1.38%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.53%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 16&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:1.04%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.27%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.26%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 902,052&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.38%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; -&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.27%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.11%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 902,052&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:13.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;Total goodwill&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:2.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;"&gt;&lt;span style="font-size:9pt;margin-left:0pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.56%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.43%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2,729,015&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:2.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;"&gt;&lt;span style="font-size:9pt;margin-left:0pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.23%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.05%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 25,384&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:2.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;"&gt;&lt;span style="font-size:9pt;margin-left:0pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.38%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.53%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 16&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:1.04%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;"&gt;&lt;span style="font-size:9pt;margin-left:0pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.27%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.26%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2,754,415&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:2.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;"&gt;&lt;span style="font-size:9pt;margin-left:0pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.93%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.38%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt;"&gt; (762,021)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:2.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;"&gt;&lt;span style="font-size:9pt;margin-left:0pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.27%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.11%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,992,394&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:ScheduleOfGoodwillTextBlock>
    <us-gaap:GoodwillGross
      contextRef="As_Of_12_31_2022_us-gaap_StatementBusinessSegmentsAxis_bld_InstallationSegmentMember_ogEtAVcqp0aGFLw3VsnIQQ"
      decimals="-3"
      id="Tc_F76KxogNmEC8modaFUlIdA_5_3"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">1826979000</us-gaap:GoodwillGross>
    <us-gaap:GoodwillPeriodIncreaseDecrease
      contextRef="Duration_1_1_2023_To_3_31_2023_us-gaap_StatementBusinessSegmentsAxis_bld_InstallationSegmentMember_LSg-I_e7e0eU_UM9eCLOVg"
      decimals="-3"
      id="Tc_MI3IJpl8VE2GCF9RgcZw4A_5_6"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">25384000</us-gaap:GoodwillPeriodIncreaseDecrease>
    <us-gaap:GoodwillGross
      contextRef="As_Of_3_31_2023_us-gaap_StatementBusinessSegmentsAxis_bld_InstallationSegmentMember_vPQxpqKcL0m10SFQKEyjIg"
      decimals="-3"
      id="Tc_D5XJ2-YY9kiOJ105NlPxag_5_12"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">1852363000</us-gaap:GoodwillGross>
    <us-gaap:GoodwillImpairedAccumulatedImpairmentLoss
      contextRef="As_Of_3_31_2023_us-gaap_StatementBusinessSegmentsAxis_bld_InstallationSegmentMember_vPQxpqKcL0m10SFQKEyjIg"
      decimals="-3"
      id="Tc_3M-LwC9HvEGNFMafLzUrZA_5_15"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">762021000</us-gaap:GoodwillImpairedAccumulatedImpairmentLoss>
    <us-gaap:Goodwill
      contextRef="As_Of_3_31_2023_us-gaap_StatementBusinessSegmentsAxis_bld_InstallationSegmentMember_vPQxpqKcL0m10SFQKEyjIg"
      decimals="-3"
      id="Tc_9qGM8444-k-D_9x-r6TPlA_5_18"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">1090342000</us-gaap:Goodwill>
    <us-gaap:GoodwillGross
      contextRef="As_Of_12_31_2022_us-gaap_StatementBusinessSegmentsAxis_bld_DistributionSegmentMember_DO7bpAz7EUGawl7o6a19Iw"
      decimals="-3"
      id="Tc_QZLA7sQ9yUqhgbAB6HcHdA_6_3"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">902036000</us-gaap:GoodwillGross>
    <us-gaap:GoodwillForeignCurrencyTranslationGainLoss
      contextRef="Duration_1_1_2023_To_3_31_2023_us-gaap_StatementBusinessSegmentsAxis_bld_DistributionSegmentMember_mqy8JDX5XUmTtMIA3VlKgw"
      decimals="-3"
      id="Tc_lhRSC8Xr9k-MnmQ4Pprj0g_6_9"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">16000</us-gaap:GoodwillForeignCurrencyTranslationGainLoss>
    <us-gaap:GoodwillGross
      contextRef="As_Of_3_31_2023_us-gaap_StatementBusinessSegmentsAxis_bld_DistributionSegmentMember_Bg3lQcXgdk6c3ZO8up_n_g"
      decimals="-3"
      id="Tc_2LHhCxbAzkGVk5P1b-Bf7Q_6_12"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">902052000</us-gaap:GoodwillGross>
    <us-gaap:Goodwill
      contextRef="As_Of_3_31_2023_us-gaap_StatementBusinessSegmentsAxis_bld_DistributionSegmentMember_Bg3lQcXgdk6c3ZO8up_n_g"
      decimals="-3"
      id="Tc_GTyfgisw4kO5FhvTql3NGQ_6_18"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">902052000</us-gaap:Goodwill>
    <us-gaap:GoodwillGross
      contextRef="As_Of_12_31_2022_3M6K0OeVvUOHwft-0BiHjg"
      decimals="-3"
      id="Tc_tmxemvYIKk6M6beuZQhkVg_7_3"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">2729015000</us-gaap:GoodwillGross>
    <us-gaap:GoodwillPeriodIncreaseDecrease
      contextRef="Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA"
      decimals="-3"
      id="Tc_C0w3KjYfHEiTvwk3mDh5YA_7_6"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">25384000</us-gaap:GoodwillPeriodIncreaseDecrease>
    <us-gaap:GoodwillForeignCurrencyTranslationGainLoss
      contextRef="Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA"
      decimals="-3"
      id="Tc_wLVyjWTm-k25WaPQh9XY0A_7_9"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">16000</us-gaap:GoodwillForeignCurrencyTranslationGainLoss>
    <us-gaap:GoodwillGross
      contextRef="As_Of_3_31_2023_if5iG1tra0aH_pegPPBopw"
      decimals="-3"
      id="Tc_8NBdKjw2tUmGn--TpwJdPA_7_12"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">2754415000</us-gaap:GoodwillGross>
    <us-gaap:GoodwillImpairedAccumulatedImpairmentLoss
      contextRef="As_Of_3_31_2023_if5iG1tra0aH_pegPPBopw"
      decimals="-3"
      id="Tc_I7EjiMhTukGb65-5cX361g_7_15"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">762021000</us-gaap:GoodwillImpairedAccumulatedImpairmentLoss>
    <us-gaap:Goodwill
      contextRef="As_Of_3_31_2023_if5iG1tra0aH_pegPPBopw"
      decimals="-3"
      id="Tc_bDuIQ7R-HkmpINNXs4rZ-A_7_18"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">1992394000</us-gaap:Goodwill>
    <bld:ScheduleOfAcquiredFiniteLivedAndIndefiniteLivedIntangibleAssetTableTextBlock
      contextRef="Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA"
      id="Tb_9A3Zoigcokqj8nhp-bQsaQ">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"&gt;Other intangible assets, net includes customer relationships, non-compete agreements, and trademarks / trade names.&#160;&#160;The following table sets forth our other intangible assets, in thousands:&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"&gt;&lt;span style="font-size:0pt;line-height:1.19;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:57.75%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.01%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.01%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.08%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.01%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.01%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.08%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:57.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.01%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:9pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:40.22%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;As of&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:57.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.01%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:9pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:19.1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;March 31, 2023&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.01%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:9pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:19.1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;December 31, 2022&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:57.75%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;Gross definite-lived intangible assets&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.01%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.01%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 791,939&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.01%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.01%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 782,316&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:57.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;Accumulated amortization&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.01%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.01%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.08%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt;"&gt; (184,256)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.01%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.01%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.08%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt;"&gt; (167,349)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:57.75%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt 0pt 0pt 6pt;"&gt;Net definite-lived intangible assets&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.01%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.01%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.08%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 607,683&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.01%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.01%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.08%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 614,967&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;</bld:ScheduleOfAcquiredFiniteLivedAndIndefiniteLivedIntangibleAssetTableTextBlock>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseTableTextBlock
      contextRef="Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA"
      id="Tb_G3Thgip26EGwEOCHacNLhg">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"&gt;&lt;span style="font-size:0pt;line-height:1.19;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:57.75%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.01%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.01%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.08%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.01%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.01%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.08%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:57.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.01%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:9pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:40.22%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;As of&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:57.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.01%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:9pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:19.1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;March 31, 2023&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.01%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:9pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:19.1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;December 31, 2022&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:57.75%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;Gross definite-lived intangible assets&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.01%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.01%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 791,939&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.01%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.01%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 782,316&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:57.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;Accumulated amortization&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.01%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.01%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.08%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt;"&gt; (184,256)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.01%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.01%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.08%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt;"&gt; (167,349)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:57.75%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt 0pt 0pt 6pt;"&gt;Net definite-lived intangible assets&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.01%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.01%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.08%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 607,683&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.01%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.01%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.08%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 614,967&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseTableTextBlock>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="As_Of_3_31_2023_if5iG1tra0aH_pegPPBopw"
      decimals="-3"
      id="Tc_VPUHVE4430S9dSc3AuJUPA_3_3"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">791939000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="As_Of_12_31_2022_3M6K0OeVvUOHwft-0BiHjg"
      decimals="-3"
      id="Tc_COHi7e-Q8kWv7LxdvETFxg_3_6"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">782316000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="As_Of_3_31_2023_if5iG1tra0aH_pegPPBopw"
      decimals="-3"
      id="Tc_F3UoDTHpXEmUSmplxNP7Kw_4_3"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">184256000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="As_Of_12_31_2022_3M6K0OeVvUOHwft-0BiHjg"
      decimals="-3"
      id="Tc_V_U0KZ919kazBmw2Em1Yrg_4_6"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">167349000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="As_Of_3_31_2023_if5iG1tra0aH_pegPPBopw"
      decimals="-3"
      id="Tc_PSa0sWlaK0SBzFROf15iFw_5_3"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">607683000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="As_Of_12_31_2022_3M6K0OeVvUOHwft-0BiHjg"
      decimals="-3"
      id="Tc_EyErhFhie0uOMjzqJiX2Kg_5_6"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">614967000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:AmortizationOfIntangibleAssets
      contextRef="Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA"
      decimals="-3"
      id="Tc_XIJfiK8QUU21SwjFh6DfXA_3_3"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">16896000</us-gaap:AmortizationOfIntangibleAssets>
    <us-gaap:AmortizationOfIntangibleAssets
      contextRef="Duration_1_1_2022_To_3_31_2022_6vn3vE91T0CiaH7EkBeDAw"
      decimals="-3"
      id="Tc_v0-B0XC06USVmnEz379tDA_3_6"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">17825000</us-gaap:AmortizationOfIntangibleAssets>
    <us-gaap:LongTermDebtTextBlock
      contextRef="Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA"
      id="Tb_Ml401cZkmk6o29y06_Cgbw">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.28;margin:6pt 0pt 8pt 0pt;"&gt;&lt;b style="font-weight:bold;white-space:pre-wrap;"&gt;5.  LONG-TERM DEBT&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"&gt;The following table reconciles the principal balances of our outstanding debt to our condensed consolidated balance sheets, in thousands:&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:66.81%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.53%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:66.81%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:31.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;As of&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:66.81%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.82%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;March 31, 2023&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;December 31, 2022&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:66.81%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;3.625% Senior Notes due 2029&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.36%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 400,000&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.53%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.49%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 400,000&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:66.81%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;4.125% Senior Notes due 2032&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 500,000&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.53%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 500,000&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:66.81%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;Term loan&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.36%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 558,750&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.53%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.49%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 566,250&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:66.81%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;Equipment notes&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 6,185&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.53%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 8,427&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:66.81%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;Unamortized debt issuance costs&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.36%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt;"&gt; (16,633)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.53%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.49%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt;"&gt; (17,352)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:66.81%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;Total debt, net of unamortized debt issuance costs&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,448,302&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.53%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,457,325&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:66.81%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;"&gt;Less: current portion of long-term debt&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.36%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 42,371&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.53%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.49%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 40,068&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:66.81%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;Total long-term debt&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.36%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,405,931&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.53%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.49%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,417,257&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;line-height:1.19;text-align:justify;margin:0pt;"&gt;&lt;span style="font-family:'Times New Roman','Times','serif';font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"&gt;&lt;span style="font-family:'Times New Roman','Times','serif';"&gt;The following table sets forth our remaining principal payments for our outstanding debt balances as of March 31, 2023, in thousands:&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:21.83%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.37%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.37%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.37%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.39%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.39%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.39%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.39%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.39%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:21.83%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.37%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:9pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.37%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:9pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.37%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:9pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.38%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:9pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.38%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:9pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.39%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:9pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.38%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:9pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.38%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:9pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.39%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:9pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.38%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:9pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.38%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:9pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.39%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:9pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.38%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:9pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.38%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:9pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.39%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:9pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.38%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:9pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.38%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:9pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.39%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:9pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.38%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:9pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.38%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:9pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:9pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:21.83%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.74%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2023&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.77%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2024&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.77%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2025&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;width:9.77%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2026&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;width:9.77%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2027&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.77%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Thereafter&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.88%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Total&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:21.83%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;3.625% Senior Notes&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.37%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.37%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.37%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; -&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.39%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; -&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.39%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; -&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.39%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; -&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.39%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; -&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.39%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 400,000&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.49%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 400,000&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:21.83%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;4.125% Senior Notes&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; -&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.39%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; -&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.39%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; -&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.39%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; -&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.39%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; -&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.39%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 500,000&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 500,000&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:21.83%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;Term loan&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.37%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.37%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.37%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 26,250&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.39%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 45,000&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.39%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 48,750&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.39%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 438,750&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.39%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; -&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.39%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; -&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.49%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 558,750&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:21.83%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;Equipment notes&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.37%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.37%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 4,076&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.38%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.39%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2,109&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.38%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.39%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; -&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.38%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.39%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; -&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.38%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.39%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; -&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.38%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.39%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; -&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.38%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 6,185&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:21.83%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;"&gt;Total&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.37%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.37%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.37%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 30,326&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.39%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 47,109&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.39%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 48,750&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.39%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 438,750&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.39%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; -&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.39%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 900,000&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.49%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,464,935&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"&gt;&lt;span style="font-size:0pt;line-height:1.19;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;background:#ffffff;margin:0pt 0pt 6pt 0pt;"&gt;&lt;i style="font-style:italic;"&gt;Credit Agreement&lt;/i&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"&gt;The following table outlines the key terms of the Credit Agreement (dollars in thousands):&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:12pt;line-height:1.19;text-align:justify;margin:0pt;"&gt;&lt;span style="font-size:10pt;margin-bottom:5pt;margin-top:5pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:83.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:83.12%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;Senior secured term loan facility&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 300,000&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:83.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;Additional delayed draw term loan&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 300,000&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:83.12%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:83.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;Additional term loan and/or revolver capacity available under incremental facility (a)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 300,000&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:83.12%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:83.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;Revolving facility&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 500,000&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:83.12%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;Sublimit for issuance of letters of credit under revolving facility (b)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 100,000&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:83.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;Sublimit for swingline loans under revolving facility (b)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 35,000&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:83.12%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:83.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;Interest rate as of March&#160;31,&#160;2023&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 5.91&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:83.12%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;Scheduled maturity date&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="font-size:9pt;"&gt;10/7/2026&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;div style="font-family:'Calibri','Helvetica','sans-serif';font-size:8.0pt;margin-bottom:0pt;min-height:1.19em;position:relative;width:100%;"&gt;&lt;div style="background-color:#000000;height:1pt;position:relative;top:0.6em;width:25.0%;border:none;margin:0 auto 0 0;"/&gt;&lt;/div&gt;&lt;table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"&gt;&lt;tr&gt;&lt;td style="font-family:'Times New Roman','Times','serif';font-size:9pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;"&gt;(a)&lt;/td&gt;&lt;td style="padding:0pt;"&gt;&lt;span style="font-family:'Times New Roman','Times','serif';font-size:9pt;font-style:normal;font-weight:normal;"&gt;Additional borrowing capacity is available under the incremental facility, subject to certain terms and conditions (including existing or new lenders providing commitments in respect of such additional borrowing capacity).&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"&gt;&lt;tr&gt;&lt;td style="font-family:'Times New Roman','Times','serif';font-size:9pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;"&gt;(b)&lt;/td&gt;&lt;td style="padding:0pt;"&gt;&lt;span style="font-family:'Times New Roman','Times','serif';font-size:9pt;font-style:normal;font-weight:normal;"&gt;Use of the sublimits for the issuance of letters of credit and swingline loans reduces the availability under the Revolving Facility.&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:12pt;line-height:1.19;text-align:justify;margin:0pt;"&gt;&lt;span style="font-size:10pt;margin-bottom:5pt;margin-top:5pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"&gt;&lt;span style="font-family:'Times New Roman','Times','serif';"&gt;Interest payable on borrowings under the Credit Agreement is based on an applicable margin rate plus, at our option, either: &#160;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;line-height:1.19;text-align:justify;margin:0pt;"&gt;&lt;span style="font-family:'Times New Roman','Times','serif';font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;line-height:1.19;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"&gt;&lt;tr&gt;&lt;td style="width:18pt;"/&gt;&lt;td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;"&gt;&#x25cf;&lt;/td&gt;&lt;td style="padding:0pt;"&gt;&lt;span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;"&gt;A base rate determined by reference to the highest of either (i) the federal funds rate plus &lt;/span&gt;&lt;span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;"&gt;0.50&lt;/span&gt;&lt;span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;"&gt; percent, (ii) BofA&#x2019;s &#x201c;prime rate,&#x201d; and (iii) the SOFR rate for U.S. dollar deposits with a term of &lt;/span&gt;&lt;span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;"&gt;one month&lt;/span&gt;&lt;span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;"&gt;, plus &lt;/span&gt;&lt;span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;"&gt;1.00&lt;/span&gt;&lt;span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;"&gt; percent; or&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;line-height:1.19;text-align:justify;margin:0pt;"&gt;&lt;span style="font-family:'Times New Roman','Times','serif';font-size:5pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;line-height:1.19;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"&gt;&lt;tr&gt;&lt;td style="width:18pt;"/&gt;&lt;td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;"&gt;&#x25cf;&lt;/td&gt;&lt;td style="padding:0pt;"&gt;&lt;span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;"&gt;A SOFR rate determined by reference to the costs of funds for deposits in U.S. dollars for the interest period relevant to such borrowings, subject to a floor of &lt;/span&gt;&lt;span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;"&gt;0%&lt;/span&gt;&lt;span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;"&gt;.&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"&gt;&lt;span style="font-family:'Times New Roman','Times','serif';"&gt; &lt;/span&gt;&lt;span style="font-family:'Times New Roman','Times','serif';visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"&gt;&lt;span style="font-family:'Times New Roman','Times','serif';"&gt;The applicable margin rate is determined based on our Secured Leverage Ratio. &#160;In the case of base rate borrowings, the applicable margin rate ranges from &lt;/span&gt;&lt;span style="font-family:'Times New Roman','Times','serif';"&gt;0.00&lt;/span&gt;&lt;span style="font-family:'Times New Roman','Times','serif';"&gt; percent to &lt;/span&gt;&lt;span style="font-family:'Times New Roman','Times','serif';"&gt;1.50&lt;/span&gt;&lt;span style="font-family:'Times New Roman','Times','serif';"&gt; percent and in the case of SOFR rate borrowings, the applicable margin ranges from &lt;/span&gt;&lt;span style="font-family:'Times New Roman','Times','serif';"&gt;1.00&lt;/span&gt;&lt;span style="font-family:'Times New Roman','Times','serif';"&gt; percent to &lt;/span&gt;&lt;span style="font-family:'Times New Roman','Times','serif';"&gt;2.50&lt;/span&gt;&lt;span style="font-family:'Times New Roman','Times','serif';"&gt; percent. &#160;Borrowings under the Credit Agreement are prepayable at the Company&#x2019;s option without premium or penalty. &#160;The Company is required to make prepayments with the net cash proceeds of certain asset sales and certain extraordinary receipts. &lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;line-height:1.19;text-align:justify;margin:0pt;"&gt;&lt;span style="font-family:'Times New Roman','Times','serif';font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"&gt;&lt;i style="font-family:'Times New Roman','Times','serif';font-style:italic;"&gt;Revolving Facility &lt;/i&gt;&lt;/p&gt;&lt;p style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;line-height:1.19;text-align:justify;margin:0pt;"&gt;&lt;span style="font-family:'Times New Roman','Times','serif';font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"&gt;&lt;span style="font-family:'Times New Roman','Times','serif';"&gt;The Company has outstanding standby letters of credit that secure our financial obligations related to our workers&#x2019; compensation, general insurance, and auto liability programs. &#160;These standby letters of credit, as well as any outstanding amount borrowed under our Revolving Facility, reduce the availability under the Revolving Facility. &#160;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;line-height:1.19;text-align:justify;margin:0pt;"&gt;&lt;span style="font-family:'Times New Roman','Times','serif';font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"&gt;&lt;span style="font-family:'Times New Roman','Times','serif';"&gt;The following table summarizes our availability under the Revolving Facility, in thousands:&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:66.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.27%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.17%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.56%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.43%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:66.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:11pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:11pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:31.32%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;As of&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:66.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-family:'Arial','Helvetica','sans-serif';"&gt;&#160;&#160;&#160;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;March 31, 2023&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;December 31, 2022&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:66.59%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;Revolving facility&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.27%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.17%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 500,000&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.56%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.43%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 500,000&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:66.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;"&gt;Less: standby letters of credit&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.27%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.17%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt;"&gt; (67,689)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.56%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.43%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt;"&gt; (67,689)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:66.59%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;Availability under revolving facility&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.27%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.17%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 432,311&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.56%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.43%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 432,311&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"&gt;We are required to pay commitment fees to the Lenders in respect of any unutilized commitments.&#160;&#160;The commitment fees range from 0.15 percent to 0.275 percent per annum, depending on our Secured Leverage Ratio.&#160;&#160;We must also pay customary fees on outstanding letters of credit.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt 0pt 6pt 0pt;"&gt;&lt;i style="font-style:italic;"&gt;3.625%&lt;/i&gt;&lt;i style="font-style:italic;"&gt; Senior Notes&lt;/i&gt; &lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"&gt;The 3.625% Senior Notes are $400.0 million senior unsecured obligations and bear interest at 3.625% per year, payable semiannually in arrears on March 15 and September 15, beginning on September 15, 2021. The 3.625% Senior Notes mature on March 15, 2029, unless redeemed early or repurchased. If we undergo a change in control, we must make an offer to repurchase all of the 3.625% Senior Notes then outstanding at a repurchase price equal to 101% of their aggregate principal amount, plus accrued and unpaid interest (if any) to, but not including, the repurchase date.&#160; &lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:12pt;line-height:1.19;text-align:justify;margin:0pt;"&gt;&lt;span style="font-size:10pt;margin-bottom:5pt;margin-top:5pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"&gt;The Company may redeem the 3.625% Senior Notes, in whole or in part, at any time on or after March 15, 2024 at the redemption prices specified in the notes. &#160;The Company may also redeem all or part of the 3.625% Senior Notes at any time prior to March 15, 2024 at a redemption price equal to 100% of the principal amount of the notes to be redeemed, plus the Applicable Premium (as defined in the notes), as of, and accrued and unpaid interest to, the redemption date. Additionally, the Company may redeem up to 40% of the aggregate principal amount of the 3.625% Senior Notes prior to March 15, 2024 with the net cash proceeds of certain sales of its capital stock at 103.625% of the principal amount of the notes, plus accrued and unpaid interest, if any, to the date of redemption only if, after the redemption, at least 60% of the aggregate principal amount of the 3.625% Senior Notes originally issued remains outstanding.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:12pt;line-height:1.19;text-align:justify;margin:0pt;"&gt;&lt;span style="font-size:10pt;margin-bottom:5pt;margin-top:5pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;i style="font-style:italic;"&gt;4.125%&lt;/i&gt;&lt;i style="font-style:italic;"&gt; Senior Notes&lt;/i&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:12pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:10pt;margin-bottom:5pt;margin-top:5pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"&gt;The 4.125% Senior Notes are $500.0 million senior unsecured obligations and bear interest at 4.125% per year, payable semiannually in arrears on February 15 and August 15, beginning on August 15, 2022. The 4.125% Senior Notes mature on February 15, 2032, unless redeemed early or repurchased. If we undergo a change in control, we must make an offer to repurchase all of the 4.125% Senior Notes then outstanding at a repurchase price equal to 101% of their aggregate principal amount, plus accrued and unpaid interest (if any) to, but not including, the repurchase date.&#160; &lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:12pt;line-height:1.19;text-align:justify;margin:0pt;"&gt;&lt;span style="font-size:10pt;margin-bottom:5pt;margin-top:5pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"&gt;The Company may redeem the 4.125% Senior Notes, in whole or in part, at any time on or after October 15, 2026 at the redemption prices specified in the notes plus accrued and unpaid interest if redeemed during the 12 month period commencing on October 15 of the years set for: 2026 &#x2013; 102.063%, 2027 &#x2013; 101.375%, 2028 &#x2013; 100.688%, 2029 and thereafter &#x2013; 100.000%. The Company may also redeem a make-whole redemption of the 4.125% Senior Notes at any time prior to October 15, 2026 at the treasury rate plus 50 basis points. Additionally, the Company may redeem up to 40% of the aggregate principal amount of the 4.125% Senior Notes prior to October 15, 2024 with the net cash proceeds of certain sales of its capital stock at 104.125% of the principal amount of the notes, plus accrued and unpaid interest, if any, to the date of redemption only if, after the redemption, at least 60% of the aggregate principal amount of the notes originally issued remains outstanding.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:12pt;line-height:1.19;text-align:justify;margin:0pt;"&gt;&lt;span style="font-size:10pt;margin-bottom:5pt;margin-top:5pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt 0pt 6pt 0pt;"&gt;&lt;i style="font-style:italic;"&gt;Equipment Notes&lt;/i&gt; &lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:12pt;line-height:1.19;text-align:justify;margin:0pt;"&gt;&lt;span style="font-size:10pt;"&gt;We did not issue equipment notes during the three months ended March 31, 2023. &#160;The company has issued &lt;/span&gt;&lt;span style="font-size:10pt;"&gt;$41.6&lt;/span&gt;&lt;span style="font-size:10pt;"&gt; &lt;/span&gt;&lt;span style="font-size:10pt;"&gt;million of equipment notes for the purpose of financing the purchase of vehicles and equipment. The Company&#x2019;s equipment notes each have a &lt;/span&gt;&lt;span style="font-size:10pt;"&gt;five year&lt;/span&gt;&lt;span style="font-size:10pt;"&gt; term maturing in 2023 and 2024 and bear interest at fixed rates between &lt;/span&gt;&lt;span style="font-size:10pt;"&gt;2.8%&lt;/span&gt;&lt;span style="font-size:10pt;"&gt; and &lt;/span&gt;&lt;span style="font-size:10pt;"&gt;4.4%&lt;/span&gt;&lt;span style="font-size:10pt;"&gt;. &lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:12pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:10pt;margin-bottom:5pt;margin-top:5pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:1pt;line-height:1.28;margin:0pt 0pt 8pt 0pt;"&gt;&#160; &lt;i style="font-size:10pt;font-style:italic;"&gt;Covenant Compliance&lt;/i&gt;&lt;span style="font-size:10pt;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"&gt;The indentures governing our 3.625% Senior Notes and our 4.125% Senior Notes (together, our &#x201c;Senior Notes&#x201d;) contain restrictive covenants that, among other things, generally limit the ability of the Company and certain of its subsidiaries (subject to certain exceptions) to (i) create liens, (ii) pay dividends, acquire shares of capital stock and make payments on subordinated debt, (iii) place limitations on distributions from certain subsidiaries, (iv) issue or sell the capital stock of certain subsidiaries, (v) sell assets, (vi) enter into transactions with affiliates and (vii) effect mergers. &#160;The indentures provide for customary events of default which include (subject in certain cases to customary grace and cure periods), among others: nonpayment of principal or interest; breach of covenants or other agreements in the indenture; defaults in failure to pay certain other indebtedness; and certain events of bankruptcy or insolvency. Generally, if an event of default occurs and is continuing under the indenture, the trustee or the holders of at least 30% in aggregate principal amount of each of our Senior Notes then outstanding may declare the principal of, premium, if any, and accrued interest on the Senior Notes subject to such declaration immediately due and payable. The Senior Notes and related guarantees have not been registered under the Securities Act of 1933, and we are not required to register either the Senior Notes or the guarantees in the future. &lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:12pt;line-height:1.19;text-align:justify;margin:0pt;"&gt;&lt;span style="font-size:10pt;margin-bottom:5pt;margin-top:5pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"&gt;The Credit Agreement contains certain covenants that limit, among other things, the ability of the Company to incur additional indebtedness or liens; to make certain investments or loans; to make certain restricted payments; to enter into consolidations, mergers, sales of material assets, and other fundamental changes; to transact with affiliates; to enter into agreements restricting the ability of subsidiaries to incur liens or pay dividends; or to make certain accounting changes.&#160;&#160;The Credit Agreement contains customary affirmative covenants and events of default. &lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:12pt;line-height:1.19;text-align:justify;margin:0pt;"&gt;&lt;span style="font-size:10pt;margin-bottom:5pt;margin-top:5pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"&gt;The Credit Agreement requires that we maintain a Net Leverage Ratio and minimum Interest Coverage Ratio throughout the term of the agreement. &#160;The following table outlines the key financial covenants effective for the period covered by this Quarterly Report:&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:12pt;line-height:1.19;text-align:justify;margin:0pt;"&gt;&lt;span style="font-size:10pt;margin-bottom:5pt;margin-top:5pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:75.81%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.74%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:22.43%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:75.81%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.74%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-family:'Arial','Helvetica','sans-serif';font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:22.43%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;As of March&#160;31,&#160;2023&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:75.81%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;Maximum Net Leverage Ratio&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.74%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:11pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:22.43%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"&gt;3.50:1.00&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:75.81%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;Minimum Interest Coverage Ratio&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.74%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:11pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:22.43%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"&gt;3.00:1.00&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:75.81%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;Compliance as of period end&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.74%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:11pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:22.43%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"&gt;In Compliance&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;line-height:1.19;text-align:justify;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;</us-gaap:LongTermDebtTextBlock>
    <us-gaap:ScheduleOfDebtTableTextBlock
      contextRef="Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA"
      id="Tb_J9WR9Gv4Qk-4s9skgGOldA">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"&gt;The following table reconciles the principal balances of our outstanding debt to our condensed consolidated balance sheets, in thousands:&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:66.81%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.53%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:66.81%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:31.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;As of&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:66.81%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.82%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;March 31, 2023&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;December 31, 2022&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:66.81%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;3.625% Senior Notes due 2029&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.36%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 400,000&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.53%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.49%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 400,000&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:66.81%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;4.125% Senior Notes due 2032&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 500,000&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.53%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 500,000&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:66.81%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;Term loan&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.36%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 558,750&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.53%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.49%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 566,250&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:66.81%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;Equipment notes&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 6,185&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.53%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 8,427&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:66.81%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;Unamortized debt issuance costs&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.36%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt;"&gt; (16,633)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.53%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.49%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt;"&gt; (17,352)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:66.81%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;Total debt, net of unamortized debt issuance costs&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,448,302&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.53%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,457,325&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:66.81%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;"&gt;Less: current portion of long-term debt&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.36%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 42,371&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.53%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.49%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 40,068&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:66.81%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;Total long-term debt&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.46%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.36%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,405,931&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.53%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.49%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,417,257&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:ScheduleOfDebtTableTextBlock>
    <us-gaap:DebtInstrumentInterestRateStatedPercentage
      contextRef="As_Of_3_31_2023_us-gaap_LongtermDebtTypeAxis_bld_SeniorNotesDue2029Member_eAdN8VMzyUGhjAJyjAj6Mw"
      decimals="5"
      id="Narr_-sDqVtxfTUGnCZQDVscw-g"
      unitRef="Unit_Standard_pure_AMt-SnY1f0Gk50TcxvjL4w">0.03625</us-gaap:DebtInstrumentInterestRateStatedPercentage>
    <us-gaap:DebtInstrumentCarryingAmount
      contextRef="As_Of_3_31_2023_us-gaap_LongtermDebtTypeAxis_bld_SeniorNotesDue2029Member_eAdN8VMzyUGhjAJyjAj6Mw"
      decimals="-3"
      id="Tc_VASa8OM-9UShFzyhz1DD0Q_3_3"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">400000000</us-gaap:DebtInstrumentCarryingAmount>
    <us-gaap:DebtInstrumentCarryingAmount
      contextRef="As_Of_12_31_2022_us-gaap_LongtermDebtTypeAxis_bld_SeniorNotesDue2029Member_P-zVb6WG90S3kOqpODQxTg"
      decimals="-3"
      id="Tc_9aSBI-6-MkypFIxu_Mmclg_3_6"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">400000000</us-gaap:DebtInstrumentCarryingAmount>
    <us-gaap:DebtInstrumentInterestRateStatedPercentage
      contextRef="As_Of_3_31_2023_us-gaap_LongtermDebtTypeAxis_bld_SeniorNotesDue2032Member_elVgkkQg00Sj-9xwdaEdLA"
      decimals="5"
      id="Narr_XEL4Oj4Fs0idUMt2_bKj8Q"
      unitRef="Unit_Standard_pure_AMt-SnY1f0Gk50TcxvjL4w">0.04125</us-gaap:DebtInstrumentInterestRateStatedPercentage>
    <us-gaap:DebtInstrumentCarryingAmount
      contextRef="As_Of_3_31_2023_us-gaap_LongtermDebtTypeAxis_bld_SeniorNotesDue2032Member_elVgkkQg00Sj-9xwdaEdLA"
      decimals="-3"
      id="Tc_ds_1_-15hUa461EYmhiWnQ_4_3"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">500000000</us-gaap:DebtInstrumentCarryingAmount>
    <us-gaap:DebtInstrumentCarryingAmount
      contextRef="As_Of_12_31_2022_us-gaap_LongtermDebtTypeAxis_bld_SeniorNotesDue2032Member_LYay9YrBtEuYzymdz-Gjcw"
      decimals="-3"
      id="Tc_67SRMTEbtE6sPJQXkcE4TA_4_6"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">500000000</us-gaap:DebtInstrumentCarryingAmount>
    <us-gaap:DebtInstrumentCarryingAmount
      contextRef="As_Of_3_31_2023_us-gaap_LongtermDebtTypeAxis_us-gaap_SecuredDebtMember_bs9MyfF_3EG8x_GCCXvppw"
      decimals="-3"
      id="Tc_ZoamNWWxQUOKyTinhGmsYA_5_3"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">558750000</us-gaap:DebtInstrumentCarryingAmount>
    <us-gaap:DebtInstrumentCarryingAmount
      contextRef="As_Of_12_31_2022_us-gaap_LongtermDebtTypeAxis_us-gaap_SecuredDebtMember_Drf3hjFYok-EO9LwVlgQZQ"
      decimals="-3"
      id="Tc_IR9Uuzbp4k-awNdGUPKEeg_5_6"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">566250000</us-gaap:DebtInstrumentCarryingAmount>
    <us-gaap:DebtInstrumentCarryingAmount
      contextRef="As_Of_3_31_2023_us-gaap_LongtermDebtTypeAxis_bld_EquipmentNotesMember_CzofN1GTuUe3vubWUs9Peg"
      decimals="-3"
      id="Tc_IcMB21f5Yk-Rpzuep6kRCg_6_3"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">6185000</us-gaap:DebtInstrumentCarryingAmount>
    <us-gaap:DebtInstrumentCarryingAmount
      contextRef="As_Of_12_31_2022_us-gaap_LongtermDebtTypeAxis_bld_EquipmentNotesMember_BrxivjoGsES5f9i33thXHQ"
      decimals="-3"
      id="Tc_QZ25-5eYCEuQrGx8rPi6wA_6_6"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">8427000</us-gaap:DebtInstrumentCarryingAmount>
    <us-gaap:DeferredFinanceCostsNet
      contextRef="As_Of_3_31_2023_if5iG1tra0aH_pegPPBopw"
      decimals="-3"
      id="Tc_UcTY1wsuQ0mLWSIaJnketQ_7_3"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">16633000</us-gaap:DeferredFinanceCostsNet>
    <us-gaap:DeferredFinanceCostsNet
      contextRef="As_Of_12_31_2022_3M6K0OeVvUOHwft-0BiHjg"
      decimals="-3"
      id="Tc_j7sbYz34dkylOpPHbcBK0w_7_6"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">17352000</us-gaap:DeferredFinanceCostsNet>
    <us-gaap:LongTermDebt
      contextRef="As_Of_3_31_2023_if5iG1tra0aH_pegPPBopw"
      decimals="-3"
      id="Tc_lkddtLLosU6a_EegTH754w_8_3"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">1448302000</us-gaap:LongTermDebt>
    <us-gaap:LongTermDebt
      contextRef="As_Of_12_31_2022_3M6K0OeVvUOHwft-0BiHjg"
      decimals="-3"
      id="Tc_SPKvhYbNK0WIZHZvNApW_A_8_6"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">1457325000</us-gaap:LongTermDebt>
    <us-gaap:LongTermDebtCurrent
      contextRef="As_Of_3_31_2023_if5iG1tra0aH_pegPPBopw"
      decimals="-3"
      id="Tc_3-6CKwxvdkae3vqClu6exA_9_3"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">42371000</us-gaap:LongTermDebtCurrent>
    <us-gaap:LongTermDebtCurrent
      contextRef="As_Of_12_31_2022_3M6K0OeVvUOHwft-0BiHjg"
      decimals="-3"
      id="Tc_faq5cuBU7Eem3iyNqKQw2g_9_6"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">40068000</us-gaap:LongTermDebtCurrent>
    <us-gaap:LongTermDebtNoncurrent
      contextRef="As_Of_3_31_2023_if5iG1tra0aH_pegPPBopw"
      decimals="-3"
      id="Tc_dhyc3eBQUEK27ve4FuwA0A_10_3"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">1405931000</us-gaap:LongTermDebtNoncurrent>
    <us-gaap:LongTermDebtNoncurrent
      contextRef="As_Of_12_31_2022_3M6K0OeVvUOHwft-0BiHjg"
      decimals="-3"
      id="Tc_sWPp8rzj5kGPRdZXaTXMCA_10_6"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">1417257000</us-gaap:LongTermDebtNoncurrent>
    <us-gaap:ScheduleOfMaturitiesOfLongTermDebtTableTextBlock
      contextRef="Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA"
      id="Tb_KsMwAdvIfk2DzuCXQsmUBw">&lt;p style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;line-height:1.19;text-align:justify;margin:0pt;"&gt;&lt;span style="font-family:'Times New Roman','Times','serif';font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"&gt;&lt;span style="font-family:'Times New Roman','Times','serif';"&gt;The following table sets forth our remaining principal payments for our outstanding debt balances as of March 31, 2023, in thousands:&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:21.83%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.37%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.37%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.37%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.39%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.39%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.39%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.39%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.39%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:21.83%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.37%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:9pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.37%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:9pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.37%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:9pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.38%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:9pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.38%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:9pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.39%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:9pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.38%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:9pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.38%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:9pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.39%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:9pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.38%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:9pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.38%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:9pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.39%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:9pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.38%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:9pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.38%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:9pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.39%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:9pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.38%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:9pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.38%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:9pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.39%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:9pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.38%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:9pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.38%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:9pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:9pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:21.83%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.74%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2023&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.77%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2024&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.77%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2025&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;width:9.77%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2026&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;width:9.77%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2027&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.77%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Thereafter&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.88%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Total&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:21.83%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;3.625% Senior Notes&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.37%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.37%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.37%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; -&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.39%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; -&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.39%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; -&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.39%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; -&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.39%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; -&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.39%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 400,000&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.49%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 400,000&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:21.83%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;4.125% Senior Notes&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; -&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.39%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; -&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.39%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; -&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.39%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; -&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.39%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; -&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.39%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 500,000&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 500,000&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:21.83%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;Term loan&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.37%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.37%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.37%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 26,250&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.39%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 45,000&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.39%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 48,750&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.39%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 438,750&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.39%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; -&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.39%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; -&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.49%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 558,750&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:21.83%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;Equipment notes&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.37%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.37%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 4,076&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.38%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.39%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2,109&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.38%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.39%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; -&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.38%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.39%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; -&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.38%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.39%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; -&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.38%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.39%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; -&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.38%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 6,185&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:21.83%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;"&gt;Total&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.37%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.37%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.37%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 30,326&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.39%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 47,109&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.39%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 48,750&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.39%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 438,750&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.39%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; -&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.39%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 900,000&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.49%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,464,935&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:ScheduleOfMaturitiesOfLongTermDebtTableTextBlock>
    <us-gaap:DebtInstrumentInterestRateStatedPercentage
      contextRef="As_Of_3_31_2023_us-gaap_LongtermDebtTypeAxis_bld_SeniorNotesDue2029Member_eAdN8VMzyUGhjAJyjAj6Mw"
      decimals="5"
      id="Narr_-6d-VypnM0uHcCrcy6O5xw"
      unitRef="Unit_Standard_pure_AMt-SnY1f0Gk50TcxvjL4w">0.03625</us-gaap:DebtInstrumentInterestRateStatedPercentage>
    <bld:LongTermDebtMaturitiesRepaymentsOfPrincipalAfterYearFour
      contextRef="As_Of_3_31_2023_us-gaap_LongtermDebtTypeAxis_bld_SeniorNotesDue2029Member_eAdN8VMzyUGhjAJyjAj6Mw"
      decimals="-3"
      id="Tc_Uwu1BXC_cESiGecK9t8SRw_3_18"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">400000000</bld:LongTermDebtMaturitiesRepaymentsOfPrincipalAfterYearFour>
    <us-gaap:DebtInstrumentCarryingAmount
      contextRef="As_Of_3_31_2023_us-gaap_LongtermDebtTypeAxis_bld_SeniorNotesDue2029Member_eAdN8VMzyUGhjAJyjAj6Mw"
      decimals="-3"
      id="Tc_imVQPoPon0-oNZD9vXSXXA_3_21"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">400000000</us-gaap:DebtInstrumentCarryingAmount>
    <us-gaap:DebtInstrumentInterestRateStatedPercentage
      contextRef="As_Of_3_31_2023_us-gaap_LongtermDebtTypeAxis_bld_SeniorNotesDue2032Member_elVgkkQg00Sj-9xwdaEdLA"
      decimals="5"
      id="Narr_Oy4bX0gJjUKXRQASIBxz6g"
      unitRef="Unit_Standard_pure_AMt-SnY1f0Gk50TcxvjL4w">0.04125</us-gaap:DebtInstrumentInterestRateStatedPercentage>
    <bld:LongTermDebtMaturitiesRepaymentsOfPrincipalAfterYearFour
      contextRef="As_Of_3_31_2023_us-gaap_LongtermDebtTypeAxis_bld_SeniorNotesDue2032Member_elVgkkQg00Sj-9xwdaEdLA"
      decimals="-3"
      id="Tc_J6Y-jn6jr0ii9TLQSP7PQQ_4_18"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">500000000</bld:LongTermDebtMaturitiesRepaymentsOfPrincipalAfterYearFour>
    <us-gaap:DebtInstrumentCarryingAmount
      contextRef="As_Of_3_31_2023_us-gaap_LongtermDebtTypeAxis_bld_SeniorNotesDue2032Member_elVgkkQg00Sj-9xwdaEdLA"
      decimals="-3"
      id="Tc_Tn9bf5hFn0K2FSz2YOLKMA_4_21"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">500000000</us-gaap:DebtInstrumentCarryingAmount>
    <us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalRemainderOfFiscalYear
      contextRef="As_Of_3_31_2023_us-gaap_LongtermDebtTypeAxis_us-gaap_SecuredDebtMember_bs9MyfF_3EG8x_GCCXvppw"
      decimals="-3"
      id="Tc_MRYNV4G7Ek-URxuzNDwnPA_5_3"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">26250000</us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalRemainderOfFiscalYear>
    <us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths
      contextRef="As_Of_3_31_2023_us-gaap_LongtermDebtTypeAxis_us-gaap_SecuredDebtMember_bs9MyfF_3EG8x_GCCXvppw"
      decimals="-3"
      id="Tc_mZq6avHZukSSW_SqDQSNTg_5_6"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">45000000</us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths>
    <us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalInYearTwo
      contextRef="As_Of_3_31_2023_us-gaap_LongtermDebtTypeAxis_us-gaap_SecuredDebtMember_bs9MyfF_3EG8x_GCCXvppw"
      decimals="-3"
      id="Tc_7GEfdVm5V0amIlkYbguwRA_5_9"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">48750000</us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalInYearTwo>
    <us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalInYearThree
      contextRef="As_Of_3_31_2023_us-gaap_LongtermDebtTypeAxis_us-gaap_SecuredDebtMember_bs9MyfF_3EG8x_GCCXvppw"
      decimals="-3"
      id="Tc_mnzbI6lOHki0mSA7HJjHYA_5_12"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">438750000</us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalInYearThree>
    <us-gaap:DebtInstrumentCarryingAmount
      contextRef="As_Of_3_31_2023_us-gaap_LongtermDebtTypeAxis_us-gaap_SecuredDebtMember_bs9MyfF_3EG8x_GCCXvppw"
      decimals="-3"
      id="Tc_aOnoa0PlkEyHX9guHWcIsQ_5_21"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">558750000</us-gaap:DebtInstrumentCarryingAmount>
    <us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalRemainderOfFiscalYear
      contextRef="As_Of_3_31_2023_us-gaap_LongtermDebtTypeAxis_bld_EquipmentNotesMember_CzofN1GTuUe3vubWUs9Peg"
      decimals="-3"
      id="Tc_OFmx5AhOFUO7tJ1NQrkz8w_6_3"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">4076000</us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalRemainderOfFiscalYear>
    <us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths
      contextRef="As_Of_3_31_2023_us-gaap_LongtermDebtTypeAxis_bld_EquipmentNotesMember_CzofN1GTuUe3vubWUs9Peg"
      decimals="-3"
      id="Tc_DuinD3GdVUKTXE-vSWXpWA_6_6"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">2109000</us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths>
    <us-gaap:DebtInstrumentCarryingAmount
      contextRef="As_Of_3_31_2023_us-gaap_LongtermDebtTypeAxis_bld_EquipmentNotesMember_CzofN1GTuUe3vubWUs9Peg"
      decimals="-3"
      id="Tc_zSJlOoQZ90OHaJT-Lo7_Rw_6_21"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">6185000</us-gaap:DebtInstrumentCarryingAmount>
    <us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalRemainderOfFiscalYear
      contextRef="As_Of_3_31_2023_if5iG1tra0aH_pegPPBopw"
      decimals="-3"
      id="Tc_SdD9FgpDF0GhlUiMmoEEPw_7_3"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">30326000</us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalRemainderOfFiscalYear>
    <us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths
      contextRef="As_Of_3_31_2023_if5iG1tra0aH_pegPPBopw"
      decimals="-3"
      id="Tc_S2KnaPxtSUe-othHmK5nCw_7_6"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">47109000</us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths>
    <us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalInYearTwo
      contextRef="As_Of_3_31_2023_if5iG1tra0aH_pegPPBopw"
      decimals="-3"
      id="Tc_sz4FtU9Dn0GDN2s7UolUBQ_7_9"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">48750000</us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalInYearTwo>
    <us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalInYearThree
      contextRef="As_Of_3_31_2023_if5iG1tra0aH_pegPPBopw"
      decimals="-3"
      id="Tc_0BofKRwNQEC7HYyAg0Xklg_7_12"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">438750000</us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalInYearThree>
    <bld:LongTermDebtMaturitiesRepaymentsOfPrincipalAfterYearFour
      contextRef="As_Of_3_31_2023_if5iG1tra0aH_pegPPBopw"
      decimals="-3"
      id="Tc_RfdxQ_04oUeoQO7QSfRBtg_7_18"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">900000000</bld:LongTermDebtMaturitiesRepaymentsOfPrincipalAfterYearFour>
    <us-gaap:DebtInstrumentCarryingAmount
      contextRef="As_Of_3_31_2023_if5iG1tra0aH_pegPPBopw"
      decimals="-3"
      id="Tc_9RMSfA23ck2Ky17kGuY-7w_7_21"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">1464935000</us-gaap:DebtInstrumentCarryingAmount>
    <bld:SummaryOfKeyTermsOfCreditAgreementTableTextBlock
      contextRef="Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA"
      id="Tb_1HfOt49rkU6zzEz4AYcPpQ">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"&gt;The following table outlines the key terms of the Credit Agreement (dollars in thousands):&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:12pt;line-height:1.19;text-align:justify;margin:0pt;"&gt;&lt;span style="font-size:10pt;margin-bottom:5pt;margin-top:5pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:83.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:83.12%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;Senior secured term loan facility&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 300,000&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:83.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;Additional delayed draw term loan&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 300,000&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:83.12%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:83.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;Additional term loan and/or revolver capacity available under incremental facility (a)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 300,000&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:83.12%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:83.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;Revolving facility&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 500,000&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:83.12%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;Sublimit for issuance of letters of credit under revolving facility (b)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 100,000&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:83.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;Sublimit for swingline loans under revolving facility (b)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 35,000&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:83.12%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:83.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;Interest rate as of March&#160;31,&#160;2023&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 5.91&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:83.12%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;Scheduled maturity date&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="font-size:9pt;"&gt;10/7/2026&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;div style="font-family:'Calibri','Helvetica','sans-serif';font-size:8.0pt;margin-bottom:0pt;min-height:1.19em;position:relative;width:100%;"&gt;&lt;div style="background-color:#000000;height:1pt;position:relative;top:0.6em;width:25.0%;border:none;margin:0 auto 0 0;"/&gt;&lt;/div&gt;&lt;table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"&gt;&lt;tr&gt;&lt;td style="font-family:'Times New Roman','Times','serif';font-size:9pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;"&gt;(a)&lt;/td&gt;&lt;td style="padding:0pt;"&gt;&lt;span style="font-family:'Times New Roman','Times','serif';font-size:9pt;font-style:normal;font-weight:normal;"&gt;Additional borrowing capacity is available under the incremental facility, subject to certain terms and conditions (including existing or new lenders providing commitments in respect of such additional borrowing capacity).&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"&gt;&lt;tr&gt;&lt;td style="font-family:'Times New Roman','Times','serif';font-size:9pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;"&gt;(b)&lt;/td&gt;&lt;td style="padding:0pt;"&gt;&lt;span style="font-family:'Times New Roman','Times','serif';font-size:9pt;font-style:normal;font-weight:normal;"&gt;Use of the sublimits for the issuance of letters of credit and swingline loans reduces the availability under the Revolving Facility.&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:12pt;line-height:1.19;text-align:justify;margin:0pt;"&gt;&lt;span style="font-size:10pt;margin-bottom:5pt;margin-top:5pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;</bld:SummaryOfKeyTermsOfCreditAgreementTableTextBlock>
    <us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity
      contextRef="As_Of_3_31_2023_us-gaap_DebtInstrumentAxis_bld_AmendedCreditAgreementDecember2022Member_us-gaap_LongtermDebtTypeAxis_us-gaap_SecuredDebtMember_GtTMZxo2F0mhtqH3ASSO6w"
      decimals="-3"
      id="Tc_vtxdRGvuB0aPaBxj6-ztng_1_2"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">300000000</us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity>
    <bld:LineOfCreditFacilityAdditionalBorrowingCapacityDelayedDraw
      contextRef="As_Of_3_31_2023_us-gaap_DebtInstrumentAxis_bld_AmendedCreditAgreementDecember2022Member_1yTqinL9CUu7K_P14w9w4w"
      decimals="-3"
      id="Tc_k-nNVUsmt0WPKckfIVAMwA_2_2"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">300000000</bld:LineOfCreditFacilityAdditionalBorrowingCapacityDelayedDraw>
    <bld:LineOfCreditFacilityAdditionalBorrowingCapacityAvailableSubjectToCertainConditions
      contextRef="As_Of_3_31_2023_us-gaap_DebtInstrumentAxis_bld_AmendedCreditAgreementDecember2022Member_1yTqinL9CUu7K_P14w9w4w"
      decimals="-3"
      id="Tc_iAzj8W6aM0uv8m38W2MSGQ_4_2"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">300000000</bld:LineOfCreditFacilityAdditionalBorrowingCapacityAvailableSubjectToCertainConditions>
    <us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity
      contextRef="As_Of_3_31_2023_us-gaap_DebtInstrumentAxis_bld_AmendedCreditAgreementDecember2022Member_us-gaap_ShortTermDebtTypeAxis_us-gaap_RevolvingCreditFacilityMember_US7n4D7r1Um5G-0vFJkevA"
      decimals="-3"
      id="Tc_6CNPMJPHNEqojMyE056A-A_6_2"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">500000000</us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity>
    <bld:LineOfCreditFacilitySublimitAvailableForLettersOfCredit
      contextRef="As_Of_3_31_2023_us-gaap_DebtInstrumentAxis_bld_AmendedCreditAgreementDecember2022Member_us-gaap_ShortTermDebtTypeAxis_us-gaap_RevolvingCreditFacilityMember_US7n4D7r1Um5G-0vFJkevA"
      decimals="-3"
      id="Tc_0aHnWeORkESOUvt3arfnDw_7_2"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">100000000</bld:LineOfCreditFacilitySublimitAvailableForLettersOfCredit>
    <bld:LineOfCreditFacilitySublimitAvailableForSwinglineLoans
      contextRef="As_Of_3_31_2023_us-gaap_DebtInstrumentAxis_bld_AmendedCreditAgreementDecember2022Member_us-gaap_ShortTermDebtTypeAxis_us-gaap_RevolvingCreditFacilityMember_US7n4D7r1Um5G-0vFJkevA"
      decimals="-3"
      id="Tc_tiEocKhAIEuU3xd5NUGU8g_8_2"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">35000000</bld:LineOfCreditFacilitySublimitAvailableForSwinglineLoans>
    <us-gaap:DebtInstrumentInterestRateEffectivePercentage
      contextRef="As_Of_3_31_2023_us-gaap_DebtInstrumentAxis_bld_AmendedCreditAgreementDecember2022Member_us-gaap_ShortTermDebtTypeAxis_us-gaap_RevolvingCreditFacilityMember_US7n4D7r1Um5G-0vFJkevA"
      decimals="4"
      id="Tc_kRyudSvF-0qCKg91KKW6nA_10_2"
      unitRef="Unit_Standard_pure_AMt-SnY1f0Gk50TcxvjL4w">0.0591</us-gaap:DebtInstrumentInterestRateEffectivePercentage>
    <us-gaap:DebtInstrumentMaturityDate
      contextRef="Duration_1_1_2023_To_3_31_2023_us-gaap_DebtInstrumentAxis_bld_AmendedCreditAgreementDecember2022Member_dUZnXEjACUOqenPIzQv7xA"
      id="Tc_MR4veyry3U-5xB9ko5Fdyw_11_2">2026-10-07</us-gaap:DebtInstrumentMaturityDate>
    <us-gaap:DebtInstrumentBasisSpreadOnVariableRate1
      contextRef="Duration_1_1_2023_To_3_31_2023_us-gaap_CreditFacilityAxis_bld_BaseRateBorrowingsMember_us-gaap_DebtInstrumentAxis_bld_AmendedCreditAgreementDecember2022Member_us-gaap_VariableRateAxis_bld_FederalFundsRateMember_2isN064HNUSL501Hs3TD5g"
      decimals="4"
      id="Narr_0vXkXmmWe0KkuHq3YToRxw"
      unitRef="Unit_Standard_pure_AMt-SnY1f0Gk50TcxvjL4w">0.0050</us-gaap:DebtInstrumentBasisSpreadOnVariableRate1>
    <bld:DebtInstrumentReferenceRateMaturityPeriod
      contextRef="Duration_1_1_2023_To_3_31_2023_us-gaap_CreditFacilityAxis_bld_BaseRateBorrowingsMember_us-gaap_DebtInstrumentAxis_bld_AmendedCreditAgreementDecember2022Member_us-gaap_VariableRateAxis_us-gaap_SecuredOvernightFinancingRateSofrOvernightIndexSwapRateMember_3wsFuSaPSUqVx4842Jk4dw"
      id="Narr_DHucrjHNEkmHs0dKRpZfSg">P1M</bld:DebtInstrumentReferenceRateMaturityPeriod>
    <us-gaap:DebtInstrumentBasisSpreadOnVariableRate1
      contextRef="Duration_1_1_2023_To_3_31_2023_us-gaap_CreditFacilityAxis_bld_BaseRateBorrowingsMember_us-gaap_DebtInstrumentAxis_bld_AmendedCreditAgreementDecember2022Member_us-gaap_VariableRateAxis_us-gaap_SecuredOvernightFinancingRateSofrOvernightIndexSwapRateMember_3wsFuSaPSUqVx4842Jk4dw"
      decimals="4"
      id="Narr_KeXiYYy7U0GjJ-ktlI51UA"
      unitRef="Unit_Standard_pure_AMt-SnY1f0Gk50TcxvjL4w">0.0100</us-gaap:DebtInstrumentBasisSpreadOnVariableRate1>
    <bld:DebtInstrumentInterestRatePercentageFloor
      contextRef="Duration_1_1_2023_To_3_31_2023_us-gaap_CreditFacilityAxis_bld_SofrRateBorrowingsMember_us-gaap_DebtInstrumentAxis_bld_AmendedCreditAgreementDecember2022Member_uEO3yzpci06N4bN594PGJA"
      decimals="3"
      id="Narr_QgBjAsxDVUGsYS_M73QPRA"
      unitRef="Unit_Standard_pure_AMt-SnY1f0Gk50TcxvjL4w">0</bld:DebtInstrumentInterestRatePercentageFloor>
    <bld:DebitInstrumentApplicableMarginBasedOnTotalLeverageRatio
      contextRef="Duration_1_1_2023_To_3_31_2023_srt_RangeAxis_srt_MinimumMember_us-gaap_CreditFacilityAxis_bld_BaseRateBorrowingsMember_us-gaap_DebtInstrumentAxis_bld_AmendedCreditAgreementDecember2022Member_2mxFiM8-YEGzpqnVMCBdWg"
      decimals="4"
      id="Narr_THxoc_VM3EuCr9brAS6SMA"
      unitRef="Unit_Standard_pure_AMt-SnY1f0Gk50TcxvjL4w">0.0000</bld:DebitInstrumentApplicableMarginBasedOnTotalLeverageRatio>
    <bld:DebitInstrumentApplicableMarginBasedOnTotalLeverageRatio
      contextRef="Duration_1_1_2023_To_3_31_2023_srt_RangeAxis_srt_MaximumMember_us-gaap_CreditFacilityAxis_bld_BaseRateBorrowingsMember_us-gaap_DebtInstrumentAxis_bld_AmendedCreditAgreementDecember2022Member_myYgiyHSo0iyzP0cBPMYqA"
      decimals="4"
      id="Narr_v6Z79E9LJ0yYpvTGdM9kgQ"
      unitRef="Unit_Standard_pure_AMt-SnY1f0Gk50TcxvjL4w">0.0150</bld:DebitInstrumentApplicableMarginBasedOnTotalLeverageRatio>
    <bld:DebitInstrumentApplicableMarginBasedOnTotalLeverageRatio
      contextRef="Duration_1_1_2023_To_3_31_2023_srt_RangeAxis_srt_MinimumMember_us-gaap_CreditFacilityAxis_bld_SofrRateBorrowingsMember_us-gaap_DebtInstrumentAxis_bld_AmendedCreditAgreementDecember2022Member_qqyoFIJb90-TK4nokPe6YQ"
      decimals="4"
      id="Narr_o8t5OkjJ2U2wmAMeRFKHVg"
      unitRef="Unit_Standard_pure_AMt-SnY1f0Gk50TcxvjL4w">0.0100</bld:DebitInstrumentApplicableMarginBasedOnTotalLeverageRatio>
    <bld:DebitInstrumentApplicableMarginBasedOnTotalLeverageRatio
      contextRef="Duration_1_1_2023_To_3_31_2023_srt_RangeAxis_srt_MaximumMember_us-gaap_CreditFacilityAxis_bld_SofrRateBorrowingsMember_us-gaap_DebtInstrumentAxis_bld_AmendedCreditAgreementDecember2022Member_24lMMhU0VUyhLuGNOyJ-LA"
      decimals="4"
      id="Narr_6AO48KgRw06CLe2cyXFlmw"
      unitRef="Unit_Standard_pure_AMt-SnY1f0Gk50TcxvjL4w">0.0250</bld:DebitInstrumentApplicableMarginBasedOnTotalLeverageRatio>
    <bld:ScheduleOfAvailabilityUnderRevolvingFacilityTableTextBlock
      contextRef="Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA"
      id="Tb_qt1bkz-Xz0ObInBpwNj6tA">&lt;p style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"&gt;&lt;span style="font-family:'Times New Roman','Times','serif';"&gt;The following table summarizes our availability under the Revolving Facility, in thousands:&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:66.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.27%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.17%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.56%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.43%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:66.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:11pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:11pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:31.32%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;As of&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:66.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-family:'Arial','Helvetica','sans-serif';"&gt;&#160;&#160;&#160;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;March 31, 2023&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;December 31, 2022&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:66.59%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;Revolving facility&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.27%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.17%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 500,000&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.56%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.43%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 500,000&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:66.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;"&gt;Less: standby letters of credit&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.27%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.17%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt;"&gt; (67,689)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.56%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.43%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt;"&gt; (67,689)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:66.59%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;Availability under revolving facility&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.27%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.17%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 432,311&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.56%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.43%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 432,311&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;</bld:ScheduleOfAvailabilityUnderRevolvingFacilityTableTextBlock>
    <us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity
      contextRef="As_Of_3_31_2023_us-gaap_ShortTermDebtTypeAxis_us-gaap_RevolvingCreditFacilityMember_sKkpc3fQb0-OaFzOj3p_hw"
      decimals="-3"
      id="Tc_x9svTOyN1Umrod6ygWfGFQ_3_3"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">500000000</us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity>
    <us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity
      contextRef="As_Of_12_31_2022_us-gaap_ShortTermDebtTypeAxis_us-gaap_RevolvingCreditFacilityMember_1af6wDhXIkqwLcOiWRsVRg"
      decimals="-3"
      id="Tc_e9zQKNIgQUG_BbQvJvYyGg_3_6"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">500000000</us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity>
    <us-gaap:LettersOfCreditOutstandingAmount
      contextRef="As_Of_3_31_2023_us-gaap_ShortTermDebtTypeAxis_us-gaap_RevolvingCreditFacilityMember_sKkpc3fQb0-OaFzOj3p_hw"
      decimals="-3"
      id="Tc_TQdY5lsDx0msl7WuBrgljQ_4_3"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">67689000</us-gaap:LettersOfCreditOutstandingAmount>
    <us-gaap:LettersOfCreditOutstandingAmount
      contextRef="As_Of_12_31_2022_us-gaap_ShortTermDebtTypeAxis_us-gaap_RevolvingCreditFacilityMember_1af6wDhXIkqwLcOiWRsVRg"
      decimals="-3"
      id="Tc_GjtOPTVBl0Cvdm8RCGcc-A_4_6"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">67689000</us-gaap:LettersOfCreditOutstandingAmount>
    <us-gaap:LineOfCreditFacilityCurrentBorrowingCapacity
      contextRef="As_Of_3_31_2023_us-gaap_ShortTermDebtTypeAxis_us-gaap_RevolvingCreditFacilityMember_sKkpc3fQb0-OaFzOj3p_hw"
      decimals="-3"
      id="Tc_5NLdfggo1UCxn0ZKFzw_rw_5_3"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">432311000</us-gaap:LineOfCreditFacilityCurrentBorrowingCapacity>
    <us-gaap:LineOfCreditFacilityCurrentBorrowingCapacity
      contextRef="As_Of_12_31_2022_us-gaap_ShortTermDebtTypeAxis_us-gaap_RevolvingCreditFacilityMember_1af6wDhXIkqwLcOiWRsVRg"
      decimals="-3"
      id="Tc_95HduVhDgEGfUMuquBXakg_5_6"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">432311000</us-gaap:LineOfCreditFacilityCurrentBorrowingCapacity>
    <us-gaap:LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage
      contextRef="Duration_1_1_2023_To_3_31_2023_srt_RangeAxis_srt_MinimumMember_us-gaap_ShortTermDebtTypeAxis_us-gaap_RevolvingCreditFacilityMember_Dbxl61N7BEeoGZzlKOJO5w"
      decimals="4"
      id="Narr_QgE-wwp8802IalOynB5n-w"
      unitRef="Unit_Standard_pure_AMt-SnY1f0Gk50TcxvjL4w">0.0015</us-gaap:LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage>
    <us-gaap:LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage
      contextRef="Duration_1_1_2023_To_3_31_2023_srt_RangeAxis_srt_MaximumMember_us-gaap_ShortTermDebtTypeAxis_us-gaap_RevolvingCreditFacilityMember_2RGvF6mMx02qxoG5rj4u9Q"
      decimals="5"
      id="Narr_sYeUZ0KxnUKzXHN3_hpnKw"
      unitRef="Unit_Standard_pure_AMt-SnY1f0Gk50TcxvjL4w">0.00275</us-gaap:LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage>
    <us-gaap:DebtInstrumentInterestRateStatedPercentage
      contextRef="As_Of_3_31_2023_us-gaap_DebtInstrumentAxis_bld_SeniorNotesDue2029Member_DOM61O-9RkadksBpNLIELQ"
      decimals="5"
      id="Narr_nTi2d658LEySe7CCIlRfoA"
      unitRef="Unit_Standard_pure_AMt-SnY1f0Gk50TcxvjL4w">0.03625</us-gaap:DebtInstrumentInterestRateStatedPercentage>
    <us-gaap:DebtInstrumentInterestRateStatedPercentage
      contextRef="As_Of_3_31_2023_us-gaap_DebtInstrumentAxis_bld_SeniorNotesDue2029Member_DOM61O-9RkadksBpNLIELQ"
      decimals="5"
      id="Narr_DUxwGcCJSUG9rz2C6xyKwg"
      unitRef="Unit_Standard_pure_AMt-SnY1f0Gk50TcxvjL4w">0.03625</us-gaap:DebtInstrumentInterestRateStatedPercentage>
    <us-gaap:DebtInstrumentFaceAmount
      contextRef="As_Of_3_31_2023_us-gaap_DebtInstrumentAxis_bld_SeniorNotesDue2029Member_DOM61O-9RkadksBpNLIELQ"
      decimals="-5"
      id="Narr_IRPeD7dDIU65lyMn54CAAQ"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">400000000.0</us-gaap:DebtInstrumentFaceAmount>
    <us-gaap:DebtInstrumentInterestRateStatedPercentage
      contextRef="As_Of_3_31_2023_us-gaap_DebtInstrumentAxis_bld_SeniorNotesDue2029Member_DOM61O-9RkadksBpNLIELQ"
      decimals="5"
      id="Narr_vo-OWlv23US06bzOrs04kw"
      unitRef="Unit_Standard_pure_AMt-SnY1f0Gk50TcxvjL4w">0.03625</us-gaap:DebtInstrumentInterestRateStatedPercentage>
    <us-gaap:DebtInstrumentInterestRateStatedPercentage
      contextRef="As_Of_3_31_2023_us-gaap_DebtInstrumentAxis_bld_SeniorNotesDue2029Member_DOM61O-9RkadksBpNLIELQ"
      decimals="5"
      id="Narr_JbEz3wAQuUCqfrQ-Iudk_A"
      unitRef="Unit_Standard_pure_AMt-SnY1f0Gk50TcxvjL4w">0.03625</us-gaap:DebtInstrumentInterestRateStatedPercentage>
    <us-gaap:DebtInstrumentInterestRateStatedPercentage
      contextRef="As_Of_3_31_2023_us-gaap_DebtInstrumentAxis_bld_SeniorNotesDue2029Member_DOM61O-9RkadksBpNLIELQ"
      decimals="5"
      id="Narr_WALSZZqnR06c7h-oVxgyRw"
      unitRef="Unit_Standard_pure_AMt-SnY1f0Gk50TcxvjL4w">0.03625</us-gaap:DebtInstrumentInterestRateStatedPercentage>
    <us-gaap:DebtInstrumentRedemptionPricePercentage
      contextRef="Duration_1_1_2023_To_3_31_2023_srt_StatementScenarioAxis_bld_ChangeInControlScenarioMember_us-gaap_DebtInstrumentAxis_bld_SeniorNotesDue2029Member_8bJwG2vTOE2tQdDW0urVWQ"
      decimals="2"
      id="Narr_zjK1xyDbsEKGaqgesl1qEw"
      unitRef="Unit_Standard_pure_AMt-SnY1f0Gk50TcxvjL4w">1.01</us-gaap:DebtInstrumentRedemptionPricePercentage>
    <us-gaap:DebtInstrumentInterestRateStatedPercentage
      contextRef="As_Of_3_31_2023_us-gaap_DebtInstrumentAxis_bld_SeniorNotesDue2029Member_DOM61O-9RkadksBpNLIELQ"
      decimals="5"
      id="Narr_orHx4czqk0WzH7h7QXJs1w"
      unitRef="Unit_Standard_pure_AMt-SnY1f0Gk50TcxvjL4w">0.03625</us-gaap:DebtInstrumentInterestRateStatedPercentage>
    <us-gaap:DebtInstrumentInterestRateStatedPercentage
      contextRef="As_Of_3_31_2023_us-gaap_DebtInstrumentAxis_bld_SeniorNotesDue2029Member_DOM61O-9RkadksBpNLIELQ"
      decimals="5"
      id="Narr_uP9tqcO0l0m0ROJXKSschw"
      unitRef="Unit_Standard_pure_AMt-SnY1f0Gk50TcxvjL4w">0.03625</us-gaap:DebtInstrumentInterestRateStatedPercentage>
    <us-gaap:DebtInstrumentRedemptionPricePercentage
      contextRef="Duration_1_1_2023_To_3_31_2023_srt_StatementScenarioAxis_bld_DebtInstrumentRedemptionOptionOneMember_us-gaap_DebtInstrumentAxis_bld_SeniorNotesDue2029Member_us-gaap_DebtInstrumentRedemptionPeriodAxis_us-gaap_DebtInstrumentRedemptionPeriodOneMember_sEFQPw4nBUudNRhTU7pKow"
      decimals="2"
      id="Narr_zrmsx5vpx0aOg8SOKW6Vuw"
      unitRef="Unit_Standard_pure_AMt-SnY1f0Gk50TcxvjL4w">1</us-gaap:DebtInstrumentRedemptionPricePercentage>
    <us-gaap:DebtInstrumentRedemptionPricePercentageOfPrincipalAmountRedeemed
      contextRef="Duration_1_1_2023_To_3_31_2023_srt_RangeAxis_srt_MaximumMember_srt_StatementScenarioAxis_bld_DebtInstrumentRedemptionOptionTwoMember_us-gaap_DebtInstrumentAxis_bld_SeniorNotesDue2029Member_us-gaap_DebtInstrumentRedemptionPeriodAxis_us-gaap_DebtInstrumentRedemptionPeriodOneMember_Qng4sg2WhkOsz-Y-k_kiQA"
      decimals="2"
      id="Narr_Mtz2Tl8pnEqbSULnHy-jLg"
      unitRef="Unit_Standard_pure_AMt-SnY1f0Gk50TcxvjL4w">0.40</us-gaap:DebtInstrumentRedemptionPricePercentageOfPrincipalAmountRedeemed>
    <us-gaap:DebtInstrumentInterestRateStatedPercentage
      contextRef="As_Of_3_31_2023_us-gaap_DebtInstrumentAxis_bld_SeniorNotesDue2029Member_DOM61O-9RkadksBpNLIELQ"
      decimals="5"
      id="Narr_iUIvq3pKFUazz4wNislXBQ"
      unitRef="Unit_Standard_pure_AMt-SnY1f0Gk50TcxvjL4w">0.03625</us-gaap:DebtInstrumentInterestRateStatedPercentage>
    <us-gaap:DebtInstrumentRedemptionPricePercentage
      contextRef="Duration_1_1_2023_To_3_31_2023_srt_StatementScenarioAxis_bld_DebtInstrumentRedemptionOptionTwoMember_us-gaap_DebtInstrumentRedemptionPeriodAxis_us-gaap_DebtInstrumentRedemptionPeriodOneMember_gYS1QElbA06_C_hcxzcVwg"
      decimals="5"
      id="Narr_rv0CAQC6Jk6CHslaloreLw"
      unitRef="Unit_Standard_pure_AMt-SnY1f0Gk50TcxvjL4w">1.03625</us-gaap:DebtInstrumentRedemptionPricePercentage>
    <bld:DebtInstrumentConditionalRedemptionThresholdPercentageOfAggregatePrincipalAmountOriginallyIssuedRemainsOutstanding
      contextRef="Duration_1_1_2023_To_3_31_2023_srt_StatementScenarioAxis_bld_DebtInstrumentRedemptionOptionTwoMember_us-gaap_DebtInstrumentRedemptionPeriodAxis_us-gaap_DebtInstrumentRedemptionPeriodOneMember_gYS1QElbA06_C_hcxzcVwg"
      decimals="2"
      id="Narr_0R3svnAHhUicJ-aM5y4xTw"
      unitRef="Unit_Standard_pure_AMt-SnY1f0Gk50TcxvjL4w">0.60</bld:DebtInstrumentConditionalRedemptionThresholdPercentageOfAggregatePrincipalAmountOriginallyIssuedRemainsOutstanding>
    <us-gaap:DebtInstrumentInterestRateStatedPercentage
      contextRef="As_Of_3_31_2023_us-gaap_DebtInstrumentAxis_bld_SeniorNotesDue2029Member_DOM61O-9RkadksBpNLIELQ"
      decimals="5"
      id="Narr_yPwEzYeKaUuS-n7sx-Iqhw"
      unitRef="Unit_Standard_pure_AMt-SnY1f0Gk50TcxvjL4w">0.03625</us-gaap:DebtInstrumentInterestRateStatedPercentage>
    <us-gaap:DebtInstrumentInterestRateStatedPercentage
      contextRef="As_Of_3_31_2023_us-gaap_DebtInstrumentAxis_bld_SeniorNotesDue2032Member_wZRT4AY8v0CM8wazDvvqiw"
      decimals="5"
      id="Narr_U5-z2XLiLkanvPoQ26OUGw"
      unitRef="Unit_Standard_pure_AMt-SnY1f0Gk50TcxvjL4w">0.04125</us-gaap:DebtInstrumentInterestRateStatedPercentage>
    <us-gaap:DebtInstrumentInterestRateStatedPercentage
      contextRef="As_Of_3_31_2023_us-gaap_DebtInstrumentAxis_bld_SeniorNotesDue2032Member_wZRT4AY8v0CM8wazDvvqiw"
      decimals="5"
      id="Narr_U8CfAJalbESjkTWs06EvZQ"
      unitRef="Unit_Standard_pure_AMt-SnY1f0Gk50TcxvjL4w">0.04125</us-gaap:DebtInstrumentInterestRateStatedPercentage>
    <us-gaap:DebtInstrumentFaceAmount
      contextRef="As_Of_3_31_2023_us-gaap_DebtInstrumentAxis_bld_SeniorNotesDue2032Member_wZRT4AY8v0CM8wazDvvqiw"
      decimals="-5"
      id="Narr_wB9zrtpa5kWmXgbp1a8ftg"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">500000000.0</us-gaap:DebtInstrumentFaceAmount>
    <us-gaap:DebtInstrumentInterestRateStatedPercentage
      contextRef="As_Of_3_31_2023_us-gaap_DebtInstrumentAxis_bld_SeniorNotesDue2032Member_wZRT4AY8v0CM8wazDvvqiw"
      decimals="5"
      id="Narr_tC7kXHQJG02oWUsH5sQVfA"
      unitRef="Unit_Standard_pure_AMt-SnY1f0Gk50TcxvjL4w">0.04125</us-gaap:DebtInstrumentInterestRateStatedPercentage>
    <us-gaap:DebtInstrumentInterestRateStatedPercentage
      contextRef="As_Of_3_31_2023_us-gaap_DebtInstrumentAxis_bld_SeniorNotesDue2032Member_wZRT4AY8v0CM8wazDvvqiw"
      decimals="5"
      id="Narr_Sv4WpZQgpEK8Frymn9x5RA"
      unitRef="Unit_Standard_pure_AMt-SnY1f0Gk50TcxvjL4w">0.04125</us-gaap:DebtInstrumentInterestRateStatedPercentage>
    <us-gaap:DebtInstrumentInterestRateStatedPercentage
      contextRef="As_Of_3_31_2023_us-gaap_DebtInstrumentAxis_bld_SeniorNotesDue2032Member_wZRT4AY8v0CM8wazDvvqiw"
      decimals="5"
      id="Narr_0Mc9eLpp-kWrxcp0HiMdJQ"
      unitRef="Unit_Standard_pure_AMt-SnY1f0Gk50TcxvjL4w">0.04125</us-gaap:DebtInstrumentInterestRateStatedPercentage>
    <us-gaap:DebtInstrumentRedemptionPricePercentage
      contextRef="Duration_1_1_2023_To_3_31_2023_srt_StatementScenarioAxis_bld_ChangeInControlScenarioMember_us-gaap_DebtInstrumentAxis_bld_SeniorNotesDue2032Member_ovCTkehJLk2CCnOsFEkaeQ"
      decimals="2"
      id="Narr_ctvCj8J7Zk-lA8F9qtWqAg"
      unitRef="Unit_Standard_pure_AMt-SnY1f0Gk50TcxvjL4w">1.01</us-gaap:DebtInstrumentRedemptionPricePercentage>
    <us-gaap:DebtInstrumentInterestRateStatedPercentage
      contextRef="As_Of_3_31_2023_us-gaap_DebtInstrumentAxis_bld_SeniorNotesDue2032Member_wZRT4AY8v0CM8wazDvvqiw"
      decimals="5"
      id="Narr_zYvU8HevckKh7IM2WzLYtQ"
      unitRef="Unit_Standard_pure_AMt-SnY1f0Gk50TcxvjL4w">0.04125</us-gaap:DebtInstrumentInterestRateStatedPercentage>
    <us-gaap:DebtInstrumentRedemptionPricePercentage
      contextRef="Duration_1_1_2023_To_3_31_2023_us-gaap_DebtInstrumentAxis_bld_SeniorNotesDue2032Member_us-gaap_DebtInstrumentRedemptionPeriodAxis_us-gaap_DebtInstrumentRedemptionPeriodTwoMember_Uf2SNkmu_UCzFdtYb5gYiA"
      decimals="5"
      id="Narr_XI29Mfy-EUmhMqnLwFBX-g"
      unitRef="Unit_Standard_pure_AMt-SnY1f0Gk50TcxvjL4w">1.02063</us-gaap:DebtInstrumentRedemptionPricePercentage>
    <us-gaap:DebtInstrumentRedemptionPricePercentage
      contextRef="Duration_1_1_2023_To_3_31_2023_us-gaap_DebtInstrumentAxis_bld_SeniorNotesDue2032Member_us-gaap_DebtInstrumentRedemptionPeriodAxis_us-gaap_DebtInstrumentRedemptionPeriodThreeMember_N6gkmcD8rk-8DZDJ_hb7qw"
      decimals="5"
      id="Narr_PrmoiKs7ikupEmShxh5t-Q"
      unitRef="Unit_Standard_pure_AMt-SnY1f0Gk50TcxvjL4w">1.01375</us-gaap:DebtInstrumentRedemptionPricePercentage>
    <us-gaap:DebtInstrumentRedemptionPricePercentage
      contextRef="Duration_1_1_2023_To_3_31_2023_us-gaap_DebtInstrumentAxis_bld_SeniorNotesDue2032Member_us-gaap_DebtInstrumentRedemptionPeriodAxis_us-gaap_DebtInstrumentRedemptionPeriodFourMember_LXkwlZf-VEaa26BHzD7nGg"
      decimals="5"
      id="Narr_7lOp_XgGx0KhsZbl3sr8Ig"
      unitRef="Unit_Standard_pure_AMt-SnY1f0Gk50TcxvjL4w">1.00688</us-gaap:DebtInstrumentRedemptionPricePercentage>
    <us-gaap:DebtInstrumentRedemptionPricePercentage
      contextRef="Duration_1_1_2023_To_3_31_2023_us-gaap_DebtInstrumentAxis_bld_SeniorNotesDue2032Member_us-gaap_DebtInstrumentRedemptionPeriodAxis_us-gaap_DebtInstrumentRedemptionPeriodFiveMember_CbXd6uRwOkejk9hh_PWcpA"
      decimals="5"
      id="Narr_OcXYZUI_2km0lADdUZo0mQ"
      unitRef="Unit_Standard_pure_AMt-SnY1f0Gk50TcxvjL4w">1.00000</us-gaap:DebtInstrumentRedemptionPricePercentage>
    <us-gaap:DebtInstrumentInterestRateStatedPercentage
      contextRef="As_Of_3_31_2023_us-gaap_DebtInstrumentAxis_bld_SeniorNotesDue2032Member_wZRT4AY8v0CM8wazDvvqiw"
      decimals="5"
      id="Narr_JR_1ZycwZ0KCZypEh0UDEg"
      unitRef="Unit_Standard_pure_AMt-SnY1f0Gk50TcxvjL4w">0.04125</us-gaap:DebtInstrumentInterestRateStatedPercentage>
    <bld:DebtInstrumentRedemptionPriceBasisSpreadOnTreasuryRate
      contextRef="Duration_1_1_2023_To_3_31_2023_us-gaap_DebtInstrumentAxis_bld_SeniorNotesDue2032Member_us-gaap_DebtInstrumentRedemptionPeriodAxis_bld_DebtInstrumentRedemptionPeriodSixMember_FWHXZNoK0ECpaOEjmSmchQ"
      decimals="3"
      id="Narr_4DrMk0_eKUCJKUbKcoOw0Q"
      unitRef="Unit_Standard_pure_AMt-SnY1f0Gk50TcxvjL4w">0.0050</bld:DebtInstrumentRedemptionPriceBasisSpreadOnTreasuryRate>
    <us-gaap:DebtInstrumentRedemptionPricePercentageOfPrincipalAmountRedeemed
      contextRef="Duration_1_1_2023_To_3_31_2023_us-gaap_DebtInstrumentAxis_bld_SeniorNotesDue2032Member_us-gaap_DebtInstrumentRedemptionPeriodAxis_bld_DebtInstrumentRedemptionPeriodSevenMember_DYvPsDtYMEqPyF1Xdb-yng"
      decimals="INF"
      id="Narr_H8Efh2-b50iJO1sxvFRJbg"
      unitRef="Unit_Standard_pure_AMt-SnY1f0Gk50TcxvjL4w">0.40</us-gaap:DebtInstrumentRedemptionPricePercentageOfPrincipalAmountRedeemed>
    <us-gaap:DebtInstrumentInterestRateStatedPercentage
      contextRef="As_Of_3_31_2023_us-gaap_DebtInstrumentAxis_bld_SeniorNotesDue2032Member_wZRT4AY8v0CM8wazDvvqiw"
      decimals="5"
      id="Narr_h3VQUfv2jEOcqB5Gid8FIw"
      unitRef="Unit_Standard_pure_AMt-SnY1f0Gk50TcxvjL4w">0.04125</us-gaap:DebtInstrumentInterestRateStatedPercentage>
    <us-gaap:DebtInstrumentRedemptionPricePercentage
      contextRef="Duration_1_1_2023_To_3_31_2023_us-gaap_DebtInstrumentAxis_bld_SeniorNotesDue2032Member_us-gaap_DebtInstrumentRedemptionPeriodAxis_bld_DebtInstrumentRedemptionPeriodSevenMember_DYvPsDtYMEqPyF1Xdb-yng"
      decimals="5"
      id="Narr_uJl1eEKvp0CtofPixrEa3w"
      unitRef="Unit_Standard_pure_AMt-SnY1f0Gk50TcxvjL4w">1.04125</us-gaap:DebtInstrumentRedemptionPricePercentage>
    <bld:DebtInstrumentConditionalRedemptionThresholdPercentageOfAggregatePrincipalAmountOriginallyIssuedRemainsOutstanding
      contextRef="Duration_1_1_2023_To_3_31_2023_us-gaap_DebtInstrumentAxis_bld_SeniorNotesDue2032Member_us-gaap_DebtInstrumentRedemptionPeriodAxis_bld_DebtInstrumentRedemptionPeriodSevenMember_DYvPsDtYMEqPyF1Xdb-yng"
      decimals="INF"
      id="Narr_r-dpei6w5U2o-__0zjmHvw"
      unitRef="Unit_Standard_pure_AMt-SnY1f0Gk50TcxvjL4w">0.60</bld:DebtInstrumentConditionalRedemptionThresholdPercentageOfAggregatePrincipalAmountOriginallyIssuedRemainsOutstanding>
    <us-gaap:DebtInstrumentFaceAmount
      contextRef="As_Of_3_31_2023_us-gaap_LongtermDebtTypeAxis_bld_EquipmentNotesMember_CzofN1GTuUe3vubWUs9Peg"
      decimals="-5"
      id="Narr_8D1HUbnJy0edqjSOdDkd7A"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">41600000</us-gaap:DebtInstrumentFaceAmount>
    <us-gaap:DebtInstrumentTerm
      contextRef="Duration_1_1_2023_To_3_31_2023_us-gaap_LongtermDebtTypeAxis_bld_EquipmentNotesMember_38hIL-nurk-bWvbPSWuPhw"
      id="Narr_qThnTU4g1kGdrBmxVqdNcw">P5Y</us-gaap:DebtInstrumentTerm>
    <us-gaap:DebtInstrumentInterestRateStatedPercentage
      contextRef="As_Of_3_31_2023_srt_RangeAxis_srt_MinimumMember_us-gaap_LongtermDebtTypeAxis_bld_EquipmentNotesMember_4MaAYR9PWEaXbwn81Fwg-A"
      decimals="3"
      id="Narr_i7TLfLclKkqYAdHsWHD58w"
      unitRef="Unit_Standard_pure_AMt-SnY1f0Gk50TcxvjL4w">0.028</us-gaap:DebtInstrumentInterestRateStatedPercentage>
    <us-gaap:DebtInstrumentInterestRateStatedPercentage
      contextRef="As_Of_3_31_2023_srt_RangeAxis_srt_MaximumMember_us-gaap_LongtermDebtTypeAxis_bld_EquipmentNotesMember_prYnYqy7Z0OOQcGXKxoX2g"
      decimals="3"
      id="Narr_wrChq0h6jEazrcvj7fYYGg"
      unitRef="Unit_Standard_pure_AMt-SnY1f0Gk50TcxvjL4w">0.044</us-gaap:DebtInstrumentInterestRateStatedPercentage>
    <us-gaap:DebtInstrumentInterestRateStatedPercentage
      contextRef="As_Of_3_31_2023_us-gaap_DebtInstrumentAxis_bld_SeniorNotesDue2029Member_DOM61O-9RkadksBpNLIELQ"
      decimals="5"
      id="Narr_uyBzQFHLg0qjRTwlLUCGJg"
      unitRef="Unit_Standard_pure_AMt-SnY1f0Gk50TcxvjL4w">0.03625</us-gaap:DebtInstrumentInterestRateStatedPercentage>
    <us-gaap:DebtInstrumentInterestRateStatedPercentage
      contextRef="As_Of_3_31_2023_us-gaap_DebtInstrumentAxis_bld_SeniorNotesDue2032Member_wZRT4AY8v0CM8wazDvvqiw"
      decimals="5"
      id="Narr_ZtGJCj1a6E6tf05CtTTAqQ"
      unitRef="Unit_Standard_pure_AMt-SnY1f0Gk50TcxvjL4w">0.04125</us-gaap:DebtInstrumentInterestRateStatedPercentage>
    <bld:MinimumPercentageOfDebtImmediatelyDueAndPayable
      contextRef="Duration_1_1_2023_To_3_31_2023_srt_StatementScenarioAxis_bld_EventOfDefaultScenarioMember_us-gaap_LongtermDebtTypeAxis_us-gaap_SeniorNotesMember_EVRX7VtzGkydUssIcKC12g"
      decimals="INF"
      id="Narr_jVPSaI6XpUK6cl_z3wOknw"
      unitRef="Unit_Standard_pure_AMt-SnY1f0Gk50TcxvjL4w">0.30</bld:MinimumPercentageOfDebtImmediatelyDueAndPayable>
    <bld:ScheduleOfKeyFinancialCovenantsTableTextBlock
      contextRef="Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA"
      id="Tb_0aFN1aJqGk2Ys_w7dU3QGw">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:12pt;line-height:1.19;text-align:justify;margin:0pt;"&gt;&lt;span style="font-size:10pt;margin-bottom:5pt;margin-top:5pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:75.81%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.74%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:22.43%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:75.81%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.74%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-family:'Arial','Helvetica','sans-serif';font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:22.43%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;As of March&#160;31,&#160;2023&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:75.81%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;Maximum Net Leverage Ratio&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.74%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:11pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:22.43%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"&gt;3.50:1.00&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:75.81%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;Minimum Interest Coverage Ratio&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.74%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:11pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:22.43%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"&gt;3.00:1.00&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:75.81%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;Compliance as of period end&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.74%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:11pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:22.43%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"&gt;In Compliance&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</bld:ScheduleOfKeyFinancialCovenantsTableTextBlock>
    <bld:DebtInstrumentCovenantNetLeverageRatio
      contextRef="Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA"
      decimals="2"
      id="Narr_8kFvZza0lk6tT47C3Me6_Q"
      unitRef="Unit_Standard_pure_AMt-SnY1f0Gk50TcxvjL4w">3.50</bld:DebtInstrumentCovenantNetLeverageRatio>
    <bld:DebtInstrumentCovenantMinimumInterestCoverageRatio
      contextRef="Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA"
      decimals="2"
      id="Narr_uxvW9pbijE-iY77Bhw2Bgw"
      unitRef="Unit_Standard_pure_AMt-SnY1f0Gk50TcxvjL4w">3.00</bld:DebtInstrumentCovenantMinimumInterestCoverageRatio>
    <us-gaap:FairValueDisclosuresTextBlock
      contextRef="Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA"
      id="Tb_ko8qw4QeXEGsJHH4LYSnwQ">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.28;margin:0pt 0pt 8pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;6&lt;/b&gt;.&lt;b style="font-weight:bold;white-space:pre-wrap;"&gt;  FAIR VALUE MEASUREMENTS&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:11.0pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Fair Value on Recurring Basis&lt;/b&gt; &lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:11.0pt;text-align:justify;margin:0pt;"&gt;The carrying values of cash and cash equivalents, receivables, net, and accounts payable are considered to be representative of their respective fair values due to the short-term nature of these instruments. &lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:12pt;min-height:11.0pt;text-align:justify;margin:0pt;"&gt;&lt;span style="line-height:1.19;margin-bottom:5pt;margin-top:5pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:11.0pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Fair Value on Non-Recurring Basis&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:11.0pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"&gt;Fair value measurements were applied to our long-term debt portfolio.&lt;span style="font-size:12pt;"&gt; &#160;&lt;/span&gt;We believe the carrying value of our term loan and equipment notes approximate their fair market value primarily due to the fact that the non-performance risk of servicing our debt obligations, as reflected in our business and credit risk profile, has not materially changed since we assumed our debt obligations under the Credit Agreement.&#160;&#160;In addition, due to the floating-rate nature of our term loan, the market value is not subject to variability solely due to changes in the general level of interest rates as is the case with a fixed-rate debt obligation. &#160;Based on market trades of our 3.625% Senior Notes and our 4.125% Senior Notes close to March 31, 2023 (Level 1 fair value measurement), we estimate the fair value of each in the table below: &#160;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"&gt;&lt;span style="font-size:0pt;line-height:1.19;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:65.31%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;margin-bottom:0pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;margin-bottom:0pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;margin-bottom:0pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.15%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;margin-bottom:0pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;margin-bottom:0pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;margin-bottom:0pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.51%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;margin-bottom:0pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:65.31%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:9pt;margin-bottom:0pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:9pt;margin-bottom:0pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:33.18%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;As of March&#160;31,&#160;2023&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:65.31%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:9pt;margin-bottom:0pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:9pt;margin-bottom:0pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:9pt;margin-bottom:0pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Fair Value&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:9pt;margin-bottom:0pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:9pt;margin-bottom:0pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.51%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Gross Carrying Value&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:65.31%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;"&gt;3.625% Senior Notes&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:9pt;margin-bottom:0pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"&gt; 348,580&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:9pt;margin-bottom:0pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.51%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"&gt; 400,000&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:65.31%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;"&gt;4.125% Senior Notes&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:9pt;margin-bottom:0pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"&gt; 427,500&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:9pt;margin-bottom:0pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.51%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"&gt; 500,000&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:12pt;min-height:11.0pt;text-align:justify;margin:0pt;"&gt;&lt;span style="font-size:1pt;line-height:1.19;margin-bottom:5pt;margin-top:5pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;</us-gaap:FairValueDisclosuresTextBlock>
    <us-gaap:DebtInstrumentInterestRateStatedPercentage
      contextRef="As_Of_3_31_2023_us-gaap_DebtInstrumentAxis_bld_SeniorNotesDue2029Member_us-gaap_FairValueByFairValueHierarchyLevelAxis_us-gaap_FairValueInputsLevel1Member_us-gaap_FairValueByMeasurementFrequencyAxis_us-gaap_FairValueMeasurementsNonrecurringMember_Vn-k2wVUmUWYtrxkKGQteA"
      decimals="5"
      id="Narr_wCB2ftDWp02Dy6YpJtTcBA"
      unitRef="Unit_Standard_pure_AMt-SnY1f0Gk50TcxvjL4w">0.03625</us-gaap:DebtInstrumentInterestRateStatedPercentage>
    <us-gaap:DebtInstrumentInterestRateStatedPercentage
      contextRef="As_Of_3_31_2023_us-gaap_DebtInstrumentAxis_bld_SeniorNotesDue2032Member_us-gaap_FairValueByFairValueHierarchyLevelAxis_us-gaap_FairValueInputsLevel1Member_us-gaap_FairValueByMeasurementFrequencyAxis_us-gaap_FairValueMeasurementsNonrecurringMember_LshrsCbxZU-qxa8vQD6lCw"
      decimals="5"
      id="Narr_oQS0zP3yzUuBywz5ZOpwAw"
      unitRef="Unit_Standard_pure_AMt-SnY1f0Gk50TcxvjL4w">0.04125</us-gaap:DebtInstrumentInterestRateStatedPercentage>
    <us-gaap:FairValueLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTableTextBlock
      contextRef="Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA"
      id="Tb_bhXbFP8Epk6Nrhot6AyFAg">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"&gt;&lt;span style="font-size:0pt;line-height:1.19;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:65.31%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;margin-bottom:0pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;margin-bottom:0pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;margin-bottom:0pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.15%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;margin-bottom:0pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;margin-bottom:0pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;margin-bottom:0pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.51%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;margin-bottom:0pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:65.31%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:9pt;margin-bottom:0pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:9pt;margin-bottom:0pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:33.18%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;As of March&#160;31,&#160;2023&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:65.31%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:9pt;margin-bottom:0pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:9pt;margin-bottom:0pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:9pt;margin-bottom:0pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Fair Value&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:9pt;margin-bottom:0pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:9pt;margin-bottom:0pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.51%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Gross Carrying Value&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:65.31%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;"&gt;3.625% Senior Notes&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:9pt;margin-bottom:0pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"&gt; 348,580&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:9pt;margin-bottom:0pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.51%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"&gt; 400,000&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:65.31%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;"&gt;4.125% Senior Notes&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:9pt;margin-bottom:0pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"&gt; 427,500&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:9pt;margin-bottom:0pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.51%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"&gt; 500,000&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:FairValueLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTableTextBlock>
    <us-gaap:DebtInstrumentInterestRateStatedPercentage
      contextRef="As_Of_3_31_2023_us-gaap_DebtInstrumentAxis_bld_SeniorNotesDue2029Member_us-gaap_FairValueByFairValueHierarchyLevelAxis_us-gaap_FairValueInputsLevel1Member_us-gaap_FairValueByMeasurementFrequencyAxis_us-gaap_FairValueMeasurementsNonrecurringMember_Vn-k2wVUmUWYtrxkKGQteA"
      decimals="5"
      id="Narr_rm-LzqMeU0WxkssDYNwTGQ"
      unitRef="Unit_Standard_pure_AMt-SnY1f0Gk50TcxvjL4w">0.03625</us-gaap:DebtInstrumentInterestRateStatedPercentage>
    <us-gaap:DebtInstrumentFairValue
      contextRef="As_Of_3_31_2023_us-gaap_DebtInstrumentAxis_bld_SeniorNotesDue2029Member_us-gaap_FairValueByFairValueHierarchyLevelAxis_us-gaap_FairValueInputsLevel1Member_us-gaap_FairValueByMeasurementFrequencyAxis_us-gaap_FairValueMeasurementsNonrecurringMember_Vn-k2wVUmUWYtrxkKGQteA"
      decimals="-3"
      id="Tc_DhukTMWOHEqxVx9WQowdJQ_3_3"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">348580000</us-gaap:DebtInstrumentFairValue>
    <us-gaap:DebtInstrumentCarryingAmount
      contextRef="As_Of_3_31_2023_us-gaap_DebtInstrumentAxis_bld_SeniorNotesDue2029Member_DOM61O-9RkadksBpNLIELQ"
      decimals="-3"
      id="Tc_SpDEGVB_ika2gaDz92A7Fg_3_6"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">400000000</us-gaap:DebtInstrumentCarryingAmount>
    <us-gaap:DebtInstrumentInterestRateStatedPercentage
      contextRef="As_Of_3_31_2023_us-gaap_DebtInstrumentAxis_bld_SeniorNotesDue2032Member_us-gaap_FairValueByFairValueHierarchyLevelAxis_us-gaap_FairValueInputsLevel1Member_us-gaap_FairValueByMeasurementFrequencyAxis_us-gaap_FairValueMeasurementsNonrecurringMember_LshrsCbxZU-qxa8vQD6lCw"
      decimals="5"
      id="Narr_D2qfDRI3FEW5mF6lgt-xhg"
      unitRef="Unit_Standard_pure_AMt-SnY1f0Gk50TcxvjL4w">0.04125</us-gaap:DebtInstrumentInterestRateStatedPercentage>
    <us-gaap:DebtInstrumentFairValue
      contextRef="As_Of_3_31_2023_us-gaap_DebtInstrumentAxis_bld_SeniorNotesDue2032Member_us-gaap_FairValueByFairValueHierarchyLevelAxis_us-gaap_FairValueInputsLevel1Member_us-gaap_FairValueByMeasurementFrequencyAxis_us-gaap_FairValueMeasurementsNonrecurringMember_LshrsCbxZU-qxa8vQD6lCw"
      decimals="-3"
      id="Tc_fEbeYPWqtU6sODFq74GOeg_4_3"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">427500000</us-gaap:DebtInstrumentFairValue>
    <us-gaap:DebtInstrumentCarryingAmount
      contextRef="As_Of_3_31_2023_us-gaap_DebtInstrumentAxis_bld_SeniorNotesDue2032Member_wZRT4AY8v0CM8wazDvvqiw"
      decimals="-3"
      id="Tc_9EsgRbCSK0Or6qlhXbamDQ_4_6"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">500000000</us-gaap:DebtInstrumentCarryingAmount>
    <us-gaap:SegmentReportingDisclosureTextBlock
      contextRef="Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA"
      id="Tb_cc81u-vaskOeR1U8Kty3Jw">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:14pt 0pt 0pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;7. &#160;SEGMENT INFORMATION&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;The following tables set forth our net sales and operating results by segment, in thousands:&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:47.94%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.56%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.59%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.87%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.55%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.59%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.87%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.55%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.59%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.87%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.55%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.87%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:47.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.56%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="11" style="vertical-align:bottom;white-space:nowrap;width:51.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Three Months Ended March&#160;31,&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:47.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.56%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.47%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2023&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.55%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.47%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2022&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.55%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.47%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2023&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.55%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.38%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2022&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:0pt;visibility:hidden;"&gt;&lt;td colspan="13" style="padding:0pt;"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:47.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.56%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:25.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Net Sales&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.55%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:25.41%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Operating Profit (b)&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:47.94%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;Operations by segment (a):&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.56%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.59%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.87%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.55%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.59%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.87%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.55%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.59%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.87%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.55%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.87%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:47.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt 0pt 0pt 6pt;"&gt;Installation&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.56%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.87%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 767,090&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.55%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.87%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 676,693&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.55%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.87%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 146,897&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.55%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.87%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 112,679&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:47.94%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt 0pt 0pt 6pt;"&gt;Specialty Distribution&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.56%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.59%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.87%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 558,375&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.55%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.59%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.87%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 543,862&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.55%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.59%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.87%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 73,333&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.55%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.87%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 70,420&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:47.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt 0pt 0pt 6pt;"&gt;Intercompany eliminations&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.56%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.87%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt;"&gt; (60,227)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.55%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.87%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt;"&gt; (51,637)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.55%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.87%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt;"&gt; (9,971)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.55%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.87%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt;"&gt; (8,708)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:47.94%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt 0pt 0pt 18pt;"&gt;Total&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.56%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.59%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.87%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,265,238&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.55%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.59%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.87%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,168,918&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.55%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.59%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.87%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 210,259&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.55%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.87%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 174,391&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:47.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;General corporate expense, net (c)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.56%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.87%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.55%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.87%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.55%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.87%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt;"&gt; (10,828)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.55%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.87%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt;"&gt; (10,437)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:47.94%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt 0pt 0pt 18pt;"&gt;Operating profit, as reported&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.56%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.59%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.87%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.55%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.59%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.87%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.55%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.59%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.87%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 199,431&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.55%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.87%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 163,954&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:47.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;Other expense, net &lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.56%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.87%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.55%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.87%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.55%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.87%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt;"&gt; (16,116)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.55%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.87%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt;"&gt; (11,282)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:middle;width:47.94%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt 0pt 0pt 18pt;"&gt;Income before income taxes&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.56%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.59%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.87%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.55%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.59%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.87%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.55%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.59%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.87%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 183,315&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.55%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.87%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 152,672&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;div style="font-family:'Times New Roman','Times','serif';font-size:8.0pt;margin-bottom:0pt;min-height:1.19em;position:relative;width:100%;"&gt;&lt;div style="background-color:#000000;height:1pt;position:relative;top:0.6em;width:25.0%;border:none;margin:0 auto 0 0;"/&gt;&lt;/div&gt;&lt;table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"&gt;&lt;tr&gt;&lt;td style="font-family:'Times New Roman','Times','serif';font-size:9pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;"&gt;(a)&lt;/td&gt;&lt;td style="padding:0pt;"&gt;&lt;span style="font-family:'Times New Roman','Times','serif';font-size:9pt;font-style:normal;font-weight:normal;"&gt;All of our operations are located primarily in the U.S and to a lesser extent Canada.&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"&gt;&lt;tr&gt;&lt;td style="font-family:'Times New Roman','Times','serif';font-size:9pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;"&gt;(b)&lt;/td&gt;&lt;td style="padding:0pt;"&gt;&lt;span style="font-family:'Times New Roman','Times','serif';font-size:9pt;font-style:normal;font-weight:normal;"&gt;Segment operating profit includes an allocation of general corporate expenses attributable to the operating segments which is based on direct benefit or usage (such as salaries of corporate employees who directly support the segment).&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"&gt;&lt;tr&gt;&lt;td style="font-family:'Times New Roman','Times','serif';font-size:9pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;"&gt;(c)&lt;/td&gt;&lt;td style="padding:0pt;"&gt;&lt;span style="font-family:'Times New Roman','Times','serif';font-size:9pt;font-style:normal;font-weight:normal;"&gt;General corporate expense, net includes expenses not specifically attributable to our segments for functions such as corporate human resources, finance, and legal, including salaries, benefits, and other related costs&lt;/span&gt;&lt;span style="font-family:'Times New Roman','Times','serif';font-size:9pt;font-style:normal;font-weight:normal;"&gt;. &lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;div style="margin-top:6pt;"/&gt;</us-gaap:SegmentReportingDisclosureTextBlock>
    <us-gaap:ScheduleOfSegmentReportingInformationBySegmentTextBlock
      contextRef="Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA"
      id="Tb_kiyIYKZos0mWPta--CZ1uw">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;The following tables set forth our net sales and operating results by segment, in thousands:&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:47.94%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.56%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.59%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.87%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.55%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.59%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.87%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.55%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.59%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.87%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.55%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.87%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:47.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.56%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="11" style="vertical-align:bottom;white-space:nowrap;width:51.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Three Months Ended March&#160;31,&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:47.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.56%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.47%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2023&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.55%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.47%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2022&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.55%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.47%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2023&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.55%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.38%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2022&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:0pt;visibility:hidden;"&gt;&lt;td colspan="13" style="padding:0pt;"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:47.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.56%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:25.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Net Sales&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.55%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:25.41%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Operating Profit (b)&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:47.94%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;Operations by segment (a):&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.56%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.59%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.87%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.55%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.59%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.87%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.55%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.59%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.87%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.55%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.87%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:47.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt 0pt 0pt 6pt;"&gt;Installation&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.56%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.87%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 767,090&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.55%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.87%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 676,693&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.55%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.87%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 146,897&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.55%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.87%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 112,679&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:47.94%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt 0pt 0pt 6pt;"&gt;Specialty Distribution&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.56%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.59%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.87%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 558,375&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.55%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.59%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.87%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 543,862&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.55%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.59%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.87%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 73,333&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.55%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.87%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 70,420&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:47.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt 0pt 0pt 6pt;"&gt;Intercompany eliminations&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.56%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.87%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt;"&gt; (60,227)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.55%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.87%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt;"&gt; (51,637)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.55%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.87%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt;"&gt; (9,971)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.55%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.87%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt;"&gt; (8,708)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:47.94%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt 0pt 0pt 18pt;"&gt;Total&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.56%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.59%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.87%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,265,238&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.55%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.59%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.87%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,168,918&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.55%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.59%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.87%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 210,259&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.55%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.87%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 174,391&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:47.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;General corporate expense, net (c)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.56%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.87%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.55%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.87%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.55%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.87%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt;"&gt; (10,828)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.55%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.87%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt;"&gt; (10,437)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:47.94%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt 0pt 0pt 18pt;"&gt;Operating profit, as reported&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.56%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.59%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.87%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.55%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.59%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.87%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.55%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.59%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.87%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 199,431&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.55%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.87%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 163,954&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:47.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;Other expense, net &lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.56%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.87%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.55%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.87%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.55%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.87%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt;"&gt; (16,116)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.55%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.87%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt;"&gt; (11,282)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:middle;width:47.94%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt 0pt 0pt 18pt;"&gt;Income before income taxes&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.56%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.59%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.87%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.55%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.59%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.87%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.55%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.59%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.87%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 183,315&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.55%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.87%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 152,672&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;div style="font-family:'Times New Roman','Times','serif';font-size:8.0pt;margin-bottom:0pt;min-height:1.19em;position:relative;width:100%;"&gt;&lt;div style="background-color:#000000;height:1pt;position:relative;top:0.6em;width:25.0%;border:none;margin:0 auto 0 0;"/&gt;&lt;/div&gt;&lt;table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"&gt;&lt;tr&gt;&lt;td style="font-family:'Times New Roman','Times','serif';font-size:9pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;"&gt;(a)&lt;/td&gt;&lt;td style="padding:0pt;"&gt;&lt;span style="font-family:'Times New Roman','Times','serif';font-size:9pt;font-style:normal;font-weight:normal;"&gt;All of our operations are located primarily in the U.S and to a lesser extent Canada.&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"&gt;&lt;tr&gt;&lt;td style="font-family:'Times New Roman','Times','serif';font-size:9pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;"&gt;(b)&lt;/td&gt;&lt;td style="padding:0pt;"&gt;&lt;span style="font-family:'Times New Roman','Times','serif';font-size:9pt;font-style:normal;font-weight:normal;"&gt;Segment operating profit includes an allocation of general corporate expenses attributable to the operating segments which is based on direct benefit or usage (such as salaries of corporate employees who directly support the segment).&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"&gt;&lt;tr&gt;&lt;td style="font-family:'Times New Roman','Times','serif';font-size:9pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;"&gt;(c)&lt;/td&gt;&lt;td style="padding:0pt;"&gt;&lt;span style="font-family:'Times New Roman','Times','serif';font-size:9pt;font-style:normal;font-weight:normal;"&gt;General corporate expense, net includes expenses not specifically attributable to our segments for functions such as corporate human resources, finance, and legal, including salaries, benefits, and other related costs&lt;/span&gt;&lt;span style="font-family:'Times New Roman','Times','serif';font-size:9pt;font-style:normal;font-weight:normal;"&gt;. &lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;div style="margin-top:6pt;"/&gt;</us-gaap:ScheduleOfSegmentReportingInformationBySegmentTextBlock>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_1_1_2023_To_3_31_2023_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_bld_InstallationSegmentMember_p7381by8A0iuH_K9pq6dkA"
      decimals="-3"
      id="Tc_l_GRqWd-BkKxe1dHMKs8xQ_5_3"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">767090000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_1_1_2022_To_3_31_2022_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_bld_InstallationSegmentMember_P5TLAe2eDUmNeH4h43zM0A"
      decimals="-3"
      id="Tc_eAK9ym3g6U292zZvz4_luQ_5_6"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">676693000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:OperatingIncomeLoss
      contextRef="Duration_1_1_2023_To_3_31_2023_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_bld_InstallationSegmentMember_p7381by8A0iuH_K9pq6dkA"
      decimals="-3"
      id="Tc_-iTnxifSFUu9v4mUIJlwkA_5_9"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">146897000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="Duration_1_1_2022_To_3_31_2022_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_bld_InstallationSegmentMember_P5TLAe2eDUmNeH4h43zM0A"
      decimals="-3"
      id="Tc_Lf7QEYHvREeYm7WKWfvz0A_5_12"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">112679000</us-gaap:OperatingIncomeLoss>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_1_1_2023_To_3_31_2023_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_bld_DistributionSegmentMember_npMAeLxndk2Y3vlwNf6M1Q"
      decimals="-3"
      id="Tc_riBVzm16gE61Qt9ZPZM6vA_6_3"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">558375000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_1_1_2022_To_3_31_2022_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_bld_DistributionSegmentMember_a9OaAUHgnEO4Vuy42sZdWA"
      decimals="-3"
      id="Tc_Jq4SGsCmmkCAMQewyjd6bA_6_6"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">543862000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:OperatingIncomeLoss
      contextRef="Duration_1_1_2023_To_3_31_2023_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_bld_DistributionSegmentMember_npMAeLxndk2Y3vlwNf6M1Q"
      decimals="-3"
      id="Tc_varHv7wg5U637PB-4_oHXg_6_9"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">73333000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="Duration_1_1_2022_To_3_31_2022_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_bld_DistributionSegmentMember_a9OaAUHgnEO4Vuy42sZdWA"
      decimals="-3"
      id="Tc_dUcHhwn6K0yxCvup-NmCbg_6_12"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">70420000</us-gaap:OperatingIncomeLoss>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_1_1_2023_To_3_31_2023_srt_ConsolidationItemsAxis_us-gaap_IntersegmentEliminationMember_OSnOoe8YMEG4QEekdapXgQ"
      decimals="-3"
      id="Tc_0ZW_04xB7kKVvxvoM869RQ_7_3"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">-60227000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_1_1_2022_To_3_31_2022_srt_ConsolidationItemsAxis_us-gaap_IntersegmentEliminationMember_liO-tbyRL0OUMaNmtzOQRA"
      decimals="-3"
      id="Tc_F4IvgeGpIUWQMqILtxmFgg_7_6"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">-51637000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:OperatingIncomeLoss
      contextRef="Duration_1_1_2023_To_3_31_2023_srt_ConsolidationItemsAxis_us-gaap_IntersegmentEliminationMember_OSnOoe8YMEG4QEekdapXgQ"
      decimals="-3"
      id="Tc_N8Jk324IukaPA3GdjkUnqg_7_9"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">-9971000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="Duration_1_1_2022_To_3_31_2022_srt_ConsolidationItemsAxis_us-gaap_IntersegmentEliminationMember_liO-tbyRL0OUMaNmtzOQRA"
      decimals="-3"
      id="Tc_Gkipt1S2i0SrT32Ii_Q9lg_7_12"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">-8708000</us-gaap:OperatingIncomeLoss>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA"
      decimals="-3"
      id="Tc_-M22h-HzxkmdyjTqZPSl_A_8_3"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">1265238000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_1_1_2022_To_3_31_2022_6vn3vE91T0CiaH7EkBeDAw"
      decimals="-3"
      id="Tc_wISCjlhK8kCqWCBTc2mOvQ_8_6"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">1168918000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:OperatingIncomeLoss
      contextRef="Duration_1_1_2023_To_3_31_2023_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_e6Vbhcmha0OvoC_c8bkFFg"
      decimals="-3"
      id="Tc_9lblP8w5gUKtJeTt2oBzfA_8_9"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">210259000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="Duration_1_1_2022_To_3_31_2022_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_hukAPRnnmUSUm_qzI6sjrg"
      decimals="-3"
      id="Tc_OROKp1uaFkqdjkwHosvzKQ_8_12"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">174391000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingExpenses
      contextRef="Duration_1_1_2023_To_3_31_2023_srt_ConsolidationItemsAxis_us-gaap_CorporateNonSegmentMember_c5sw8fixpE21iMoO3Tt6xw"
      decimals="-3"
      id="Tc_6RjdigwVT0uL7q-z1FWipw_9_9"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">-10828000</us-gaap:OperatingExpenses>
    <us-gaap:OperatingExpenses
      contextRef="Duration_1_1_2022_To_3_31_2022_srt_ConsolidationItemsAxis_us-gaap_CorporateNonSegmentMember_HVg0NYO990KhlMREqMnCYA"
      decimals="-3"
      id="Tc_UmR-F9If2EGwuBVw9DMWCw_9_12"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">-10437000</us-gaap:OperatingExpenses>
    <us-gaap:OperatingIncomeLoss
      contextRef="Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA"
      decimals="-3"
      id="Tc_jm2ieAdHu0aJYlpMcSC49Q_10_9"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">199431000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="Duration_1_1_2022_To_3_31_2022_6vn3vE91T0CiaH7EkBeDAw"
      decimals="-3"
      id="Tc_j1oU_BR7zkuf30vxSqGfGQ_10_12"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">163954000</us-gaap:OperatingIncomeLoss>
    <us-gaap:NonoperatingIncomeExpense
      contextRef="Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA"
      decimals="-3"
      id="Tc_lhueue5VNEG_ugOV0w5Ssw_11_9"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">-16116000</us-gaap:NonoperatingIncomeExpense>
    <us-gaap:NonoperatingIncomeExpense
      contextRef="Duration_1_1_2022_To_3_31_2022_6vn3vE91T0CiaH7EkBeDAw"
      decimals="-3"
      id="Tc_LwQXctGWCU2ods-Ht1Z_3w_11_12"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">-11282000</us-gaap:NonoperatingIncomeExpense>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA"
      decimals="-3"
      id="Tc_90b_WCcEf0m3bJZT7WzJAw_12_9"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">183315000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="Duration_1_1_2022_To_3_31_2022_6vn3vE91T0CiaH7EkBeDAw"
      decimals="-3"
      id="Tc_E0NUP74OGUisXWjvxfBPew_12_12"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">152672000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeTaxDisclosureTextBlock
      contextRef="Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA"
      id="Tb_iAgT1aywlkKBQ3oHtvNK2w">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;8. &#160;INCOME TAXES &#160; &#160; &lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"&gt;&lt;span style="font-family:'Times New Roman','Times','serif';"&gt;Our effective tax rates were &lt;/span&gt;&lt;span style="font-family:'Times New Roman','Times','serif';"&gt;25.9&lt;/span&gt;&lt;span style="font-family:'Times New Roman','Times','serif';"&gt; percent and &lt;/span&gt;&lt;span style="font-family:'Times New Roman','Times','serif';"&gt;24.9&lt;/span&gt;&lt;span style="font-family:'Times New Roman','Times','serif';"&gt; percent for the three months ended March 31, 2023 and 2022, respectively. The higher 2023 tax rate was primarily related to a decrease in the benefit related to share-based compensation.&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;line-height:1.19;text-align:justify;margin:0pt;"&gt;&lt;span style="font-family:'Times New Roman','Times','serif';font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"&gt;A tax benefit of $1.6 million related to share-based compensation was recognized in our condensed consolidated statements of operations as a discrete item in income tax expense for the three months ended March 31, 2022.&lt;/p&gt;</us-gaap:IncomeTaxDisclosureTextBlock>
    <us-gaap:EffectiveIncomeTaxRateContinuingOperations
      contextRef="Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA"
      decimals="3"
      id="Narr_1jYH5HIy4E2hueblBzTY3w"
      unitRef="Unit_Standard_pure_AMt-SnY1f0Gk50TcxvjL4w">0.259</us-gaap:EffectiveIncomeTaxRateContinuingOperations>
    <us-gaap:EffectiveIncomeTaxRateContinuingOperations
      contextRef="Duration_1_1_2022_To_3_31_2022_6vn3vE91T0CiaH7EkBeDAw"
      decimals="3"
      id="Narr_eTsYV1pppEeayx8u6kjVsA"
      unitRef="Unit_Standard_pure_AMt-SnY1f0Gk50TcxvjL4w">0.249</us-gaap:EffectiveIncomeTaxRateContinuingOperations>
    <us-gaap:EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense
      contextRef="Duration_1_1_2022_To_3_31_2022_6vn3vE91T0CiaH7EkBeDAw"
      decimals="-5"
      id="Narr_3GRsjJFTYUectrE-ExjZJw"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">1600000</us-gaap:EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense>
    <us-gaap:EarningsPerShareTextBlock
      contextRef="Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA"
      id="Tb_-yhsfhsYwUyw1ak46SuW-g">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;b style="font-weight:bold;white-space:pre-wrap;"&gt;9.  NET INCOME PER SHAR&lt;/b&gt;&lt;b style="font-weight:bold;"&gt;E&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"&gt;Basic net income per share is calculated by dividing net income by the number of weighted average shares outstanding during the period, without consideration for common stock equivalents. &lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"&gt;Diluted net income per share is calculated by adjusting the number of weighted average shares outstanding for the dilutive effect of common stock equivalents outstanding for the period, determined using the treasury stock method. &#160;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"&gt;Basic and diluted net income per share were computed as follows:&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:-0.036060333%;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:55.35%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.36%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.36%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.58%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.36%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.36%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.58%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:55.35%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="5" style="vertical-align:bottom;width:42.27%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Three Months Ended March&#160;31,&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:55.35%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:19.95%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2023&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:19.95%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2022&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:55.35%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;Net income (in thousands)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.36%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.36%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.58%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 135,870&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.36%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.36%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.58%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 114,711&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:55.35%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.58%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.58%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:55.35%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;Weighted average number of common shares outstanding - basic&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.36%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.36%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.58%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 31,550,658&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.36%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.36%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.58%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 32,738,525&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:55.35%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.58%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.58%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:55.35%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;Dilutive effect of common stock equivalents:&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.36%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.36%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.58%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.36%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.36%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.58%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:55.35%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;"&gt;RSAs with service-based conditions&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.58%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 22,643&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.58%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 15,127&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:55.35%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;"&gt;RSAs with market-based conditions&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.36%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.36%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.58%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 24,861&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.36%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.36%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.58%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 100,158&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:55.35%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;"&gt;RSAs with performance-based conditions&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.58%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 29,031&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.58%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 64,025&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:55.35%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;"&gt;Stock options&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.36%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.36%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.58%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 86,046&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.36%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.36%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.58%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 124,655&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:55.35%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.58%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.58%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:55.35%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;Weighted average number of common shares outstanding - diluted&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.36%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.36%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.58%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 31,713,239&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.36%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.36%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.58%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 33,042,490&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:55.35%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.58%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.58%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:55.35%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Basic net income per common share&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.36%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.36%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.58%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 4.31&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.36%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.36%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.58%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 3.50&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:55.35%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.58%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.58%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:55.35%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Diluted net income per common share&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.36%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.36%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.58%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 4.28&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.36%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.36%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.58%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 3.47&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"&gt;The following table summarizes shares excluded from the calculation of diluted net income per share because their effect would have been anti-dilutive:&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:55.32%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.57%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.57%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:55.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="5" style="vertical-align:bottom;width:42.29%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Three Months Ended March&#160;31,&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:55.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:19.95%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2023&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:19.95%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2022&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:55.32%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;Anti-dilutive common stock equivalents:&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.57%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.57%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:55.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;"&gt;RSAs with service-based conditions&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.57%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 11,163&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.57%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 10,244&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:55.32%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;"&gt;RSAs with market-based conditions&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.57%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 8,933&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.57%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 382&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:55.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;"&gt;RSAs with performance-based conditions&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.57%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; -&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.57%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 7,908&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:55.32%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;"&gt;Stock options&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.57%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 22,280&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.57%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 16,587&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:55.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;Total anti-dilutive common stock equivalents&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.57%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 42,376&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.57%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 35,121&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;</us-gaap:EarningsPerShareTextBlock>
    <us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock
      contextRef="Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA"
      id="Tb_v4k1ijb3ukG53RaP6_oS0Q">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"&gt;Basic and diluted net income per share were computed as follows:&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:-0.036060333%;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:55.35%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.36%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.36%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.58%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.36%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.36%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.58%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:55.35%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="5" style="vertical-align:bottom;width:42.27%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Three Months Ended March&#160;31,&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:55.35%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:19.95%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2023&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:19.95%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2022&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:55.35%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;Net income (in thousands)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.36%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.36%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.58%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 135,870&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.36%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.36%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.58%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 114,711&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:55.35%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.58%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.58%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:55.35%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;Weighted average number of common shares outstanding - basic&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.36%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.36%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.58%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 31,550,658&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.36%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.36%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.58%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 32,738,525&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:55.35%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.58%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.58%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:55.35%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;Dilutive effect of common stock equivalents:&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.36%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.36%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.58%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.36%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.36%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.58%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:55.35%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;"&gt;RSAs with service-based conditions&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.58%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 22,643&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.58%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 15,127&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:55.35%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;"&gt;RSAs with market-based conditions&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.36%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.36%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.58%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 24,861&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.36%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.36%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.58%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 100,158&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:55.35%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;"&gt;RSAs with performance-based conditions&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.58%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 29,031&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.58%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 64,025&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:55.35%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;"&gt;Stock options&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.36%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.36%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.58%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 86,046&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.36%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.36%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.58%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 124,655&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:55.35%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.58%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.58%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:55.35%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;Weighted average number of common shares outstanding - diluted&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.36%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.36%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.58%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 31,713,239&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.36%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.36%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.58%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 33,042,490&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:55.35%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.58%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.58%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:55.35%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Basic net income per common share&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.36%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.36%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.58%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 4.31&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.36%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.36%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.58%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 3.50&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:55.35%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.58%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.58%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:55.35%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Diluted net income per common share&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.36%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.36%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.58%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 4.28&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.36%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.36%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.58%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 3.47&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;</us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock>
    <us-gaap:NetIncomeLoss
      contextRef="Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA"
      decimals="-3"
      id="Tc_oXYWXheu7kCsP4xOT4rSXQ_3_3"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">135870000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="Duration_1_1_2022_To_3_31_2022_6vn3vE91T0CiaH7EkBeDAw"
      decimals="-3"
      id="Tc_PAkeQHYSF0au7O4lhBAK1A_3_6"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">114711000</us-gaap:NetIncomeLoss>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA"
      decimals="0"
      id="Tc_ztRf4DA8uUmfJG2rauTDWg_5_3"
      unitRef="Unit_Standard_shares_eiECwuXP0kO6JM1Li4xT6g">31550658</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="Duration_1_1_2022_To_3_31_2022_6vn3vE91T0CiaH7EkBeDAw"
      decimals="0"
      id="Tc_KLA-8tne40es1hYK_tpQWA_5_6"
      unitRef="Unit_Standard_shares_eiECwuXP0kO6JM1Li4xT6g">32738525</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <bld:IncrementalCommonSharesAttributableToDilutiveEffectOfRestrictedStockAwards
      contextRef="Duration_1_1_2023_To_3_31_2023_bld_VestingCriteriaAxis_bld_VestingBasedOnServiceMember_196Upr8rOUC8z0WxIbpziQ"
      decimals="INF"
      id="Tc_MNwf6wC8XES7S02te9CgNw_8_3"
      unitRef="Unit_Standard_shares_eiECwuXP0kO6JM1Li4xT6g">22643</bld:IncrementalCommonSharesAttributableToDilutiveEffectOfRestrictedStockAwards>
    <bld:IncrementalCommonSharesAttributableToDilutiveEffectOfRestrictedStockAwards
      contextRef="Duration_1_1_2022_To_3_31_2022_bld_VestingCriteriaAxis_bld_VestingBasedOnServiceMember_b81sW9t5NkqVPgyYgQhQDQ"
      decimals="INF"
      id="Tc_7DEB1YIQMEuXH7rytZ9W3w_8_6"
      unitRef="Unit_Standard_shares_eiECwuXP0kO6JM1Li4xT6g">15127</bld:IncrementalCommonSharesAttributableToDilutiveEffectOfRestrictedStockAwards>
    <bld:IncrementalCommonSharesAttributableToDilutiveEffectOfRestrictedStockAwards
      contextRef="Duration_1_1_2023_To_3_31_2023_bld_VestingCriteriaAxis_bld_VestingBasedOnMarketConditionsMember_M8R4YOEGykmYSxy0DTQNfQ"
      decimals="INF"
      id="Tc_9K0UNNq24U-GLnZd5eQGHw_9_3"
      unitRef="Unit_Standard_shares_eiECwuXP0kO6JM1Li4xT6g">24861</bld:IncrementalCommonSharesAttributableToDilutiveEffectOfRestrictedStockAwards>
    <bld:IncrementalCommonSharesAttributableToDilutiveEffectOfRestrictedStockAwards
      contextRef="Duration_1_1_2022_To_3_31_2022_bld_VestingCriteriaAxis_bld_VestingBasedOnMarketConditionsMember_WOts3HCPRUyIrwREZwOb_A"
      decimals="INF"
      id="Tc_cWJ0415nZEaafqbg5QdDdg_9_6"
      unitRef="Unit_Standard_shares_eiECwuXP0kO6JM1Li4xT6g">100158</bld:IncrementalCommonSharesAttributableToDilutiveEffectOfRestrictedStockAwards>
    <bld:IncrementalCommonSharesAttributableToDilutiveEffectOfRestrictedStockAwards
      contextRef="Duration_1_1_2023_To_3_31_2023_bld_VestingCriteriaAxis_bld_VestingBasedOnPerformanceMember_WhT4ZtMKAEy67fj6eZw9bw"
      decimals="INF"
      id="Tc_TYLZ5EBJ7EKsoPzz7hQLTA_10_3"
      unitRef="Unit_Standard_shares_eiECwuXP0kO6JM1Li4xT6g">29031</bld:IncrementalCommonSharesAttributableToDilutiveEffectOfRestrictedStockAwards>
    <bld:IncrementalCommonSharesAttributableToDilutiveEffectOfRestrictedStockAwards
      contextRef="Duration_1_1_2022_To_3_31_2022_bld_VestingCriteriaAxis_bld_VestingBasedOnPerformanceMember_FPfoYbYla06I9BvsmSrwjQ"
      decimals="INF"
      id="Tc_mqVG0VDds0yPQzPt2teQWQ_10_6"
      unitRef="Unit_Standard_shares_eiECwuXP0kO6JM1Li4xT6g">64025</bld:IncrementalCommonSharesAttributableToDilutiveEffectOfRestrictedStockAwards>
    <bld:IncrementalCommonSharesAttributableToDilutiveEffectOfStockOptions
      contextRef="Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA"
      decimals="INF"
      id="Tc_ll8Qop0AdU-j8KccPZ_jzw_11_3"
      unitRef="Unit_Standard_shares_eiECwuXP0kO6JM1Li4xT6g">86046</bld:IncrementalCommonSharesAttributableToDilutiveEffectOfStockOptions>
    <bld:IncrementalCommonSharesAttributableToDilutiveEffectOfStockOptions
      contextRef="Duration_1_1_2022_To_3_31_2022_6vn3vE91T0CiaH7EkBeDAw"
      decimals="INF"
      id="Tc_3fHjVZOpDUGG1FglB-qM7A_11_6"
      unitRef="Unit_Standard_shares_eiECwuXP0kO6JM1Li4xT6g">124655</bld:IncrementalCommonSharesAttributableToDilutiveEffectOfStockOptions>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA"
      decimals="0"
      id="Tc_wOvtPpOmdE2-GQJ3PhlApw_13_3"
      unitRef="Unit_Standard_shares_eiECwuXP0kO6JM1Li4xT6g">31713239</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="Duration_1_1_2022_To_3_31_2022_6vn3vE91T0CiaH7EkBeDAw"
      decimals="0"
      id="Tc_YdTJ06Tgsk6XwYwPp9Z5Xw_13_6"
      unitRef="Unit_Standard_shares_eiECwuXP0kO6JM1Li4xT6g">33042490</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:EarningsPerShareBasic
      contextRef="Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA"
      decimals="2"
      id="Tc_yQKllhzL60eoZXZTVoiofA_15_3"
      unitRef="Unit_Divide_USD_shares_imdDf3-8d0qa5ZDAI6M6QA">4.31</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="Duration_1_1_2022_To_3_31_2022_6vn3vE91T0CiaH7EkBeDAw"
      decimals="2"
      id="Tc_DOuf5My7OE6CuCdlfFNmoQ_15_6"
      unitRef="Unit_Divide_USD_shares_imdDf3-8d0qa5ZDAI6M6QA">3.50</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareDiluted
      contextRef="Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA"
      decimals="2"
      id="Tc_sAOYKzcuykqHtnYgUS7K4g_17_3"
      unitRef="Unit_Divide_USD_shares_imdDf3-8d0qa5ZDAI6M6QA">4.28</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="Duration_1_1_2022_To_3_31_2022_6vn3vE91T0CiaH7EkBeDAw"
      decimals="2"
      id="Tc_Bt59qQfEokaGcMYDGfefKw_17_6"
      unitRef="Unit_Divide_USD_shares_imdDf3-8d0qa5ZDAI6M6QA">3.47</us-gaap:EarningsPerShareDiluted>
    <us-gaap:ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock
      contextRef="Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA"
      id="Tb___WLYZdG4UiTWsOLQZ7BnA">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"&gt;The following table summarizes shares excluded from the calculation of diluted net income per share because their effect would have been anti-dilutive:&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:55.32%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.57%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.57%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:55.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="5" style="vertical-align:bottom;width:42.29%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Three Months Ended March&#160;31,&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:55.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:19.95%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2023&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:19.95%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2022&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:55.32%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;Anti-dilutive common stock equivalents:&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.57%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.57%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:55.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;"&gt;RSAs with service-based conditions&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.57%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 11,163&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.57%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 10,244&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:55.32%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;"&gt;RSAs with market-based conditions&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.57%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 8,933&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.57%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 382&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:55.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;"&gt;RSAs with performance-based conditions&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.57%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; -&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.57%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 7,908&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:55.32%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;"&gt;Stock options&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.57%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 22,280&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.57%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 16,587&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:55.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;Total anti-dilutive common stock equivalents&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.57%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 42,376&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.57%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 35,121&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="Duration_1_1_2023_To_3_31_2023_bld_VestingCriteriaAxis_bld_VestingBasedOnServiceMember_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_us-gaap_RestrictedStockMember_x6XnFpPuXEuV3fGq4ddeyA"
      decimals="INF"
      id="Tc_HGs1aMt4vkGOk_H5k3BA7A_4_3"
      unitRef="Unit_Standard_shares_eiECwuXP0kO6JM1Li4xT6g">11163</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="Duration_1_1_2022_To_3_31_2022_bld_VestingCriteriaAxis_bld_VestingBasedOnServiceMember_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_us-gaap_RestrictedStockMember_Pcsj0KvvGEe1syeIDuQieA"
      decimals="INF"
      id="Tc_-qe3Y9WIRE6i_zsL-g6DAg_4_6"
      unitRef="Unit_Standard_shares_eiECwuXP0kO6JM1Li4xT6g">10244</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="Duration_1_1_2023_To_3_31_2023_bld_VestingCriteriaAxis_bld_VestingBasedOnMarketConditionsMember_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_us-gaap_RestrictedStockMember_FALY4h_Bg0uKOBzLGkgxfQ"
      decimals="INF"
      id="Tc_nVDNWyCKwECzgD-jgWZoyg_5_3"
      unitRef="Unit_Standard_shares_eiECwuXP0kO6JM1Li4xT6g">8933</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="Duration_1_1_2022_To_3_31_2022_bld_VestingCriteriaAxis_bld_VestingBasedOnMarketConditionsMember_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_us-gaap_RestrictedStockMember_BhD1z8gATEeiUokXR7Bfmw"
      decimals="INF"
      id="Tc_-Pz1293OQkakWWHf6xKymQ_5_6"
      unitRef="Unit_Standard_shares_eiECwuXP0kO6JM1Li4xT6g">382</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="Duration_1_1_2022_To_3_31_2022_bld_VestingCriteriaAxis_bld_VestingBasedOnPerformanceMember_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_us-gaap_RestrictedStockMember_iSBcQfCa80aJcCmonmGW2g"
      decimals="INF"
      id="Tc_Zg7A339FKUOKppugzCHSDA_6_6"
      unitRef="Unit_Standard_shares_eiECwuXP0kO6JM1Li4xT6g">7908</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="Duration_1_1_2023_To_3_31_2023_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_us-gaap_EmployeeStockOptionMember_JTF_nuG900CtkAmFVcr1wA"
      decimals="INF"
      id="Tc_F2yD_F4Iq0CfkG03jkXb4g_7_3"
      unitRef="Unit_Standard_shares_eiECwuXP0kO6JM1Li4xT6g">22280</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="Duration_1_1_2022_To_3_31_2022_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_us-gaap_EmployeeStockOptionMember_y5429PFFEkO6VyO6sbJmNA"
      decimals="INF"
      id="Tc_Q98EmL4870GH4w0lK21plw_7_6"
      unitRef="Unit_Standard_shares_eiECwuXP0kO6JM1Li4xT6g">16587</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA"
      decimals="INF"
      id="Tc_4tx4PnPNsEemekHjaTPHJA_8_3"
      unitRef="Unit_Standard_shares_eiECwuXP0kO6JM1Li4xT6g">42376</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="Duration_1_1_2022_To_3_31_2022_6vn3vE91T0CiaH7EkBeDAw"
      decimals="INF"
      id="Tc_Nn6Oiv1ldEeb8HSv_NSw7Q_8_6"
      unitRef="Unit_Standard_shares_eiECwuXP0kO6JM1Li4xT6g">35121</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock
      contextRef="Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA"
      id="Tb_4XmLwT5dWkWboZHT7UKvfA">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;b style="font-weight:bold;white-space:pre-wrap;"&gt;10.  SHARE-BASED COMPENSATION&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"&gt;Effective July 1, 2015, our eligible employees commenced participation in the 2015 LTIP.&#160;&#160;The 2015 LTIP authorizes the Board to grant stock options, stock appreciation rights, restricted shares, restricted share units, performance awards, and dividend equivalents.&#160;&#160;All grants are made by issuing new shares and no more than 4.0 million shares of common stock may be issued under the 2015 LTIP.&#160;&#160;As of March 31, 2023, we had 1.8 million shares remaining available for issuance under the 2015 LTIP. &lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:12pt;line-height:1.19;text-align:justify;margin:0pt;"&gt;&lt;span style="font-size:10pt;margin-bottom:5pt;margin-top:5pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"&gt;Share-based compensation expense is included in selling, general, and administrative expense.&#160;&#160;The income tax effect associated with share-based compensation awards is included in income tax expense.&#160;&#160;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:12pt;line-height:1.19;text-align:justify;margin:0pt;"&gt;&lt;span style="font-size:10pt;margin-bottom:5pt;margin-top:5pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"&gt;The following table presents share-based compensation amounts recognized in our condensed consolidated statements of operations, in thousands: &lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:57.71%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.42%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.42%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:16.29%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.42%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.42%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:16.29%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:57.71%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.42%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:39.86%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Three Months Ended March&#160;31,&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:57.71%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.42%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:18.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2023&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.42%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:18.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2022&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:57.71%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;Share-based compensation expense&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.42%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.42%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:16.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 3,135&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.42%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.42%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:16.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 3,727&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:57.71%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;Income tax (expense)/benefit&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.42%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.42%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:16.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt;"&gt; (45)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.42%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.42%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:16.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,605&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"&gt;The following table presents a summary of our share-based compensation activity for three months ended March 31,&#160;2023, in thousands, except per share amounts:&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:21.02%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.24%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.58%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.55%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.13%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.55%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.51%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.55%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.13%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.55%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.45%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.55%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.34%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:21.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="4" style="vertical-align:bottom;white-space:nowrap;width:24.81%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;RSAs&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.55%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="10" style="vertical-align:bottom;white-space:nowrap;width:51.34%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Stock Options&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:21.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:1.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:10.58%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Number&#160;of Shares&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:1.55%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;&lt;b style="font-family:'Arial','Helvetica','sans-serif';font-weight:bold;"&gt;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;width:12.68%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Weighted Average&#160;Grant Date&#160;Fair&#160;Value Per&#160;Share&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:1.55%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;&lt;b style="font-family:'Arial','Helvetica','sans-serif';font-weight:bold;"&gt;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:10.51%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Number&#160;of Shares&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:1.55%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;&lt;b style="font-family:'Arial','Helvetica','sans-serif';font-weight:bold;"&gt;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;width:12.68%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Weighted Average&#160;Grant Date&#160;Fair&#160;Value Per&#160;Share&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:1.55%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;&lt;b style="font-family:'Arial','Helvetica','sans-serif';font-weight:bold;"&gt;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;width:11.83%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Weighted Average Exercise&#160;Price Per&#160;Share&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:1.55%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;&lt;b style="font-family:'Arial','Helvetica','sans-serif';font-weight:bold;"&gt;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;width:11.64%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Aggregate&lt;/b&gt;&lt;b style="font-weight:bold;"&gt;&lt;br/&gt;&lt;/b&gt;&lt;b style="font-weight:bold;"&gt;Intrinsic&lt;/b&gt;&lt;b style="font-weight:bold;"&gt;&lt;br/&gt;&lt;/b&gt;&lt;b style="font-weight:bold;"&gt;Value&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:21.02%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;Balance December&#160;31,&#160;2022&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.24%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.58%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 173.2&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.55%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.13%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 195.06&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.55%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.51%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 182.2&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.55%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.13%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 32.25&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.55%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.45%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 86.79&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.55%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.34%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 13,992.3&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:21.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;"&gt;Granted&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;"&gt;&lt;span style="font-size:9pt;margin-left:0pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.58%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 95.4&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.55%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 202.24&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.55%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.51%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.55%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.55%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.55%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.34%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:21.02%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;"&gt;Converted/Exercised&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.24%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;"&gt;&lt;span style="font-size:9pt;margin-left:0pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.58%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt;"&gt; (95.0)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.55%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.13%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 145.57&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.55%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.51%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt;"&gt; (28.8)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.55%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.13%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 13.07&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.55%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.45%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 35.67&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.55%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.34%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 4,504.8&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:21.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;"&gt;Forfeited/Expired&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;"&gt;&lt;span style="font-size:9pt;margin-left:0pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.58%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt;"&gt; (5.3)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.55%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.13%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 242.76&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.55%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.51%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.55%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.13%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.55%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.38%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.55%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.29%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.34%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:21.02%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;Balance March&#160;31,&#160;2023&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.24%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.58%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 168.3&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.55%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.13%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 225.41&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.55%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.51%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 153.4&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.55%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.13%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 35.98&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.55%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.45%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 96.40&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.55%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.29%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.34%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 17,277.2&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:21.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.58%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.55%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.55%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.51%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.55%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.13%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.55%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.38%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.55%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.29%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.34%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="vertical-align:bottom;white-space:nowrap;width:32.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;Exercisable March&#160;31,&#160;2023 (a)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.55%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.13%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.55%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.51%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 145.9&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.55%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.13%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 33.25&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.55%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.45%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 90.39&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.55%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.29%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.34%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 17,277.2&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;div style="font-family:'Times New Roman','Times','serif';font-size:8.0pt;margin-bottom:0pt;min-height:1.19em;position:relative;width:100%;"&gt;&lt;div style="background-color:#000000;height:1pt;position:relative;top:0.6em;width:25.0%;border:none;margin:0 auto 0 0;"/&gt;&lt;/div&gt;&lt;table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"&gt;&lt;tr&gt;&lt;td style="font-family:'Times New Roman','Times','serif';font-size:9pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;"&gt;(a)&lt;/td&gt;&lt;td style="padding:0pt;"&gt;&lt;span style="font-family:'Times New Roman','Times','serif';font-size:9pt;font-style:normal;font-weight:normal;"&gt;The weighted average remaining contractual term for vested stock options is approximately&lt;/span&gt;&lt;span style="font-family:'Times New Roman','Times','serif';font-size:9pt;font-style:normal;font-weight:normal;"&gt; 5.9 &lt;/span&gt;&lt;span style="font-family:'Times New Roman','Times','serif';font-size:9pt;font-style:normal;font-weight:normal;"&gt;years.&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  &lt;/span&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"&gt;We had unrecognized share-based compensation expense related to unvested awards is shown in the following table, dollars in thousands:&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:59.67%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.51%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.51%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.1%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.14%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:59.67%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.51%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:38.81%;background:#ffffff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;As of March&#160;31,&#160;2023&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:59.67%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.51%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;width:18.61%;background:#ffffff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Unrecognized Compensation Expense &lt;/b&gt;&lt;b style="font-weight:bold;"&gt;&lt;br/&gt;&lt;/b&gt;&lt;b style="font-weight:bold;"&gt;on Unvested Awards&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;width:18.66%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Weighted Average&lt;/b&gt;&lt;b style="font-weight:bold;"&gt;&lt;br/&gt;&lt;/b&gt;&lt;b style="font-weight:bold;"&gt;Remaining&lt;/b&gt;&lt;b style="font-weight:bold;"&gt;&lt;br/&gt;&lt;/b&gt;&lt;b style="font-weight:bold;"&gt;Compensation Expense Period&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:59.67%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;"&gt;RSAs&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.51%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.51%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.1%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 24,835&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.52%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.52%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.14%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:9pt;"&gt; 1.2&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:59.67%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;"&gt;Stock options&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.51%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.51%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 397&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.14%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:9pt;"&gt; 0.5&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:59.67%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;Total unrecognized compensation expense related to unvested awards&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.51%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.51%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.1%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 25,232&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.52%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.52%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.14%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"&gt;Our RSAs with performance-based conditions are evaluated on a quarterly basis with adjustments to compensation expense based on the likelihood of the performance target being achieved or exceeded. &#160;The following table shows the range of payouts and the related expense for our outstanding RSAs with performance-based conditions, in thousands:&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:41.14%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.33%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.33%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.96%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.33%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.33%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.96%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.33%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.33%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.96%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.33%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.33%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.96%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.33%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.88%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:41.14%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.33%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.33%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.96%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.33%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="11" style="vertical-align:bottom;white-space:nowrap;width:45.86%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Payout Ranges and Related Expense&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:41.14%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;RSAs with Performance-Based Conditions&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.33%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;width:10.3%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Grant Date Fair Value&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.33%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;width:10.3%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;0%&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.33%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;width:10.3%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;25%&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.33%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;width:10.3%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;100%&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.33%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;width:10.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;200%&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:41.14%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;February 16, 2021&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.33%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.33%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.96%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2,197&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.33%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.33%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.96%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; -&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.33%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.33%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.96%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 549&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.33%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.33%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.96%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2,197&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.33%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.88%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 4,394&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:41.14%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;February 15, 2022&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.33%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.33%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.96%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 3,097&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.33%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.33%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.96%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; -&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.33%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.33%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.96%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 774&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.33%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.33%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.96%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 3,097&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.33%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.88%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 6,194&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:41.14%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;February 21, 2023&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.33%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.33%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.96%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 4,192&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.33%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.33%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.96%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; -&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.33%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.33%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.96%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,048&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.33%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.33%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.96%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 4,192&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.33%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.88%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 8,384&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"&gt;During the first quarter of 2023, RSAs with performance-based conditions that were granted on February 17, 2020 vested based on cumulative three-year achievement of 200%. Total compensation expense recognized over the three-year performance period, net of forfeitures, was $5.0 million.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"&gt;The fair value of our RSAs with a market-based condition granted under the 2015 LTIP was determined using a Monte Carlo simulation. &#160;The following are key inputs in the Monte Carlo analysis for awards granted in 2023 and 2022:&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:73.43%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:73.43%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.43%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2023&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.43%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2022&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:73.43%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;Measurement period (years)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.13%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="font-size:9pt;"&gt; 2.86&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.13%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="font-size:9pt;"&gt; 2.87&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:73.43%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;Risk free interest rate&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 4.42&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1.76&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:73.43%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;Dividend yield&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.13%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 0.00&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.13%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 0.00&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:73.43%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;Estimated fair value of market-based RSAs at grant date&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 270.64&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 298.20&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;</us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized
      contextRef="As_Of_3_31_2023_srt_RangeAxis_srt_MaximumMember_us-gaap_PlanNameAxis_bld_LongTermIncentivePlanMember_tIAn4wlxMk-KyfSphArL4A"
      decimals="-5"
      id="Narr_9qCVru3h90qUmYkEvJ2bxQ"
      unitRef="Unit_Standard_shares_eiECwuXP0kO6JM1Li4xT6g">4000000.0</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized>
    <bld:ScheduleOfShareBasedCompensationExpenseTableTextBlock
      contextRef="Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA"
      id="Tb_-muyKoyb6k2tKbG9V83ZPA">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:12pt;line-height:1.19;text-align:justify;margin:0pt;"&gt;&lt;span style="font-size:10pt;margin-bottom:5pt;margin-top:5pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"&gt;The following table presents share-based compensation amounts recognized in our condensed consolidated statements of operations, in thousands: &lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:57.71%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.42%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.42%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:16.29%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.42%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.42%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:16.29%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:57.71%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.42%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:39.86%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Three Months Ended March&#160;31,&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:57.71%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.42%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:18.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2023&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.42%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:18.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2022&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:57.71%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;Share-based compensation expense&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.42%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.42%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:16.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 3,135&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.42%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.42%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:16.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 3,727&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:57.71%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;Income tax (expense)/benefit&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.42%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.42%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:16.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt;"&gt; (45)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.42%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.42%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:16.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,605&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;</bld:ScheduleOfShareBasedCompensationExpenseTableTextBlock>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA"
      decimals="-3"
      id="Tc_C4etbIJmDUKJaUBR6qo_gw_3_3"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">3135000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="Duration_1_1_2022_To_3_31_2022_6vn3vE91T0CiaH7EkBeDAw"
      decimals="-3"
      id="Tc_wZoR3ahxjUCPcQ-X1gZhdA_3_6"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">3727000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense
      contextRef="Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA"
      decimals="-3"
      id="Tc_mDZv3ks6AEyKFgiU7gONPQ_4_3"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">-45000</us-gaap:EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense>
    <us-gaap:EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense
      contextRef="Duration_1_1_2022_To_3_31_2022_6vn3vE91T0CiaH7EkBeDAw"
      decimals="-3"
      id="Tc_VJ3OsuAh80mvaVV_KGWMFQ_4_6"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">1605000</us-gaap:EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense>
    <us-gaap:ScheduleOfShareBasedCompensationActivityTableTextBlock
      contextRef="Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA"
      id="Tb_vcrLYEnmUkWkZ1L0QdUr0Q">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"&gt;The following table presents a summary of our share-based compensation activity for three months ended March 31,&#160;2023, in thousands, except per share amounts:&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:21.02%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.24%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.58%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.55%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.13%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.55%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.51%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.55%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.13%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.55%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.45%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.55%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.34%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:21.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="4" style="vertical-align:bottom;white-space:nowrap;width:24.81%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;RSAs&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.55%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="10" style="vertical-align:bottom;white-space:nowrap;width:51.34%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Stock Options&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:21.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:1.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:10.58%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Number&#160;of Shares&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:1.55%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;&lt;b style="font-family:'Arial','Helvetica','sans-serif';font-weight:bold;"&gt;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;width:12.68%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Weighted Average&#160;Grant Date&#160;Fair&#160;Value Per&#160;Share&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:1.55%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;&lt;b style="font-family:'Arial','Helvetica','sans-serif';font-weight:bold;"&gt;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:10.51%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Number&#160;of Shares&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:1.55%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;&lt;b style="font-family:'Arial','Helvetica','sans-serif';font-weight:bold;"&gt;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;width:12.68%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Weighted Average&#160;Grant Date&#160;Fair&#160;Value Per&#160;Share&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:1.55%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;&lt;b style="font-family:'Arial','Helvetica','sans-serif';font-weight:bold;"&gt;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;width:11.83%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Weighted Average Exercise&#160;Price Per&#160;Share&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:1.55%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;&lt;b style="font-family:'Arial','Helvetica','sans-serif';font-weight:bold;"&gt;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;width:11.64%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Aggregate&lt;/b&gt;&lt;b style="font-weight:bold;"&gt;&lt;br/&gt;&lt;/b&gt;&lt;b style="font-weight:bold;"&gt;Intrinsic&lt;/b&gt;&lt;b style="font-weight:bold;"&gt;&lt;br/&gt;&lt;/b&gt;&lt;b style="font-weight:bold;"&gt;Value&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:21.02%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;Balance December&#160;31,&#160;2022&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.24%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.58%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 173.2&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.55%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.13%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 195.06&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.55%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.51%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 182.2&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.55%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.13%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 32.25&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.55%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.45%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 86.79&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.55%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.34%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 13,992.3&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:21.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;"&gt;Granted&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;"&gt;&lt;span style="font-size:9pt;margin-left:0pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.58%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 95.4&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.55%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 202.24&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.55%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.51%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.55%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.55%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.55%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.34%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:21.02%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;"&gt;Converted/Exercised&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.24%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;"&gt;&lt;span style="font-size:9pt;margin-left:0pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.58%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt;"&gt; (95.0)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.55%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.13%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 145.57&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.55%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.51%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt;"&gt; (28.8)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.55%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.13%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 13.07&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.55%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.45%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 35.67&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.55%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.34%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 4,504.8&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:21.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;"&gt;Forfeited/Expired&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;"&gt;&lt;span style="font-size:9pt;margin-left:0pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.58%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt;"&gt; (5.3)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.55%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.13%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 242.76&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.55%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.51%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.55%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.13%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.55%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.38%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.55%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.29%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.34%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:21.02%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;Balance March&#160;31,&#160;2023&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.24%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.58%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 168.3&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.55%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.13%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 225.41&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.55%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.51%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 153.4&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.55%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.13%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 35.98&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.55%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.45%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 96.40&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.55%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.29%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.34%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 17,277.2&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:21.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.58%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.55%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.55%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.51%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.55%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.13%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.55%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.38%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.55%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.29%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.34%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="vertical-align:bottom;white-space:nowrap;width:32.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;Exercisable March&#160;31,&#160;2023 (a)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.55%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.13%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.55%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.51%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 145.9&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.55%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.13%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 33.25&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.55%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.45%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 90.39&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.55%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.29%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.34%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 17,277.2&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;div style="font-family:'Times New Roman','Times','serif';font-size:8.0pt;margin-bottom:0pt;min-height:1.19em;position:relative;width:100%;"&gt;&lt;div style="background-color:#000000;height:1pt;position:relative;top:0.6em;width:25.0%;border:none;margin:0 auto 0 0;"/&gt;&lt;/div&gt;&lt;table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"&gt;&lt;tr&gt;&lt;td style="font-family:'Times New Roman','Times','serif';font-size:9pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;"&gt;(a)&lt;/td&gt;&lt;td style="padding:0pt;"&gt;&lt;span style="font-family:'Times New Roman','Times','serif';font-size:9pt;font-style:normal;font-weight:normal;"&gt;The weighted average remaining contractual term for vested stock options is approximately&lt;/span&gt;&lt;span style="font-family:'Times New Roman','Times','serif';font-size:9pt;font-style:normal;font-weight:normal;"&gt; 5.9 &lt;/span&gt;&lt;span style="font-family:'Times New Roman','Times','serif';font-size:9pt;font-style:normal;font-weight:normal;"&gt;years.&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:ScheduleOfShareBasedCompensationActivityTableTextBlock>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber
      contextRef="As_Of_12_31_2022_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockMember_gyTMO563sEqpZmQ3457eFw"
      decimals="-2"
      id="Tc_JPah4LXdVU2pO2UNTyZ40g_3_2"
      unitRef="Unit_Standard_shares_eiECwuXP0kO6JM1Li4xT6g">173200</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue
      contextRef="As_Of_12_31_2022_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockMember_gyTMO563sEqpZmQ3457eFw"
      decimals="2"
      id="Tc_Yz1-fWfOz0md3Q5Ww20WuA_3_5"
      unitRef="Unit_Divide_USD_shares_imdDf3-8d0qa5ZDAI6M6QA">195.06</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
      contextRef="As_Of_12_31_2022_us-gaap_AwardTypeAxis_us-gaap_EmployeeStockOptionMember_SvwL_1-BQkqWC-2hDx5qwA"
      decimals="-2"
      id="Tc_DNlfViq1KESCaHkZY17f1A_3_7"
      unitRef="Unit_Standard_shares_eiECwuXP0kO6JM1Li4xT6g">182200</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue
      contextRef="As_Of_12_31_2022_us-gaap_AwardTypeAxis_us-gaap_EmployeeStockOptionMember_SvwL_1-BQkqWC-2hDx5qwA"
      decimals="2"
      id="Tc_CI1rZ58WCkuR9Zw_7Ryvpg_3_10"
      unitRef="Unit_Divide_USD_shares_imdDf3-8d0qa5ZDAI6M6QA">32.25</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice
      contextRef="As_Of_12_31_2022_us-gaap_AwardTypeAxis_us-gaap_EmployeeStockOptionMember_SvwL_1-BQkqWC-2hDx5qwA"
      decimals="2"
      id="Tc_3M0H28ETS0mF-Jw40GlRSg_3_13"
      unitRef="Unit_Divide_USD_shares_imdDf3-8d0qa5ZDAI6M6QA">86.79</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue
      contextRef="As_Of_12_31_2022_us-gaap_AwardTypeAxis_us-gaap_EmployeeStockOptionMember_SvwL_1-BQkqWC-2hDx5qwA"
      decimals="-2"
      id="Tc_PmEWAT6oOkWmkc2HpogTug_3_16"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">13992300</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod
      contextRef="Duration_1_1_2023_To_3_31_2023_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockMember_4ijqTyXSBk22efw20Cbhig"
      decimals="-2"
      id="Tc_9OAuwyjBFUq0XI6gYWJ93g_4_2"
      unitRef="Unit_Standard_shares_eiECwuXP0kO6JM1Li4xT6g">95400</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
      contextRef="Duration_1_1_2023_To_3_31_2023_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockMember_4ijqTyXSBk22efw20Cbhig"
      decimals="2"
      id="Tc_fnv6ZYoFtU2iqFPs7Q3Upg_4_5"
      unitRef="Unit_Divide_USD_shares_imdDf3-8d0qa5ZDAI6M6QA">202.24</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue>
    <bld:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsConvertedExercisedInPeriod
      contextRef="Duration_1_1_2023_To_3_31_2023_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockMember_4ijqTyXSBk22efw20Cbhig"
      decimals="-2"
      id="Tc_aKFVHjchmkay0Yo8wXNVdQ_5_2"
      unitRef="Unit_Standard_shares_eiECwuXP0kO6JM1Li4xT6g">95000.0</bld:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsConvertedExercisedInPeriod>
    <bld:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsConvertedExercisedWeightedAverageGrantDateFairValue
      contextRef="Duration_1_1_2023_To_3_31_2023_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockMember_4ijqTyXSBk22efw20Cbhig"
      decimals="2"
      id="Tc_lsHRX03Yx0eWvXe5H0jlsw_5_5"
      unitRef="Unit_Divide_USD_shares_imdDf3-8d0qa5ZDAI6M6QA">145.57</bld:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsConvertedExercisedWeightedAverageGrantDateFairValue>
    <us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised
      contextRef="Duration_1_1_2023_To_3_31_2023_us-gaap_AwardTypeAxis_us-gaap_EmployeeStockOptionMember_ra7VRVHhWU2toZSs6t5jSg"
      decimals="-2"
      id="Tc_mj3u5QmWgkW66Yu5wPfnww_5_7"
      unitRef="Unit_Standard_shares_eiECwuXP0kO6JM1Li4xT6g">28800</us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised>
    <bld:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsConvertedExercisedWeightedAverageGrantDateFairValue
      contextRef="Duration_1_1_2023_To_3_31_2023_us-gaap_AwardTypeAxis_us-gaap_EmployeeStockOptionMember_ra7VRVHhWU2toZSs6t5jSg"
      decimals="2"
      id="Tc__qjOegygtEWDARtUHgvUEA_5_10"
      unitRef="Unit_Divide_USD_shares_imdDf3-8d0qa5ZDAI6M6QA">13.07</bld:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsConvertedExercisedWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice
      contextRef="Duration_1_1_2023_To_3_31_2023_us-gaap_AwardTypeAxis_us-gaap_EmployeeStockOptionMember_ra7VRVHhWU2toZSs6t5jSg"
      decimals="2"
      id="Tc_XwnVHBt0LECDREP3odJeug_5_13"
      unitRef="Unit_Divide_USD_shares_imdDf3-8d0qa5ZDAI6M6QA">35.67</us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue
      contextRef="Duration_1_1_2023_To_3_31_2023_us-gaap_AwardTypeAxis_us-gaap_EmployeeStockOptionMember_ra7VRVHhWU2toZSs6t5jSg"
      decimals="-1"
      id="Tc_InsACgQMCk22WIHRC4EbxA_5_16"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">4504800</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue>
    <bld:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedOrExpiredInPeriod
      contextRef="Duration_1_1_2023_To_3_31_2023_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockMember_4ijqTyXSBk22efw20Cbhig"
      decimals="-2"
      id="Tc_91HuyQss0EaeUOxeI_KvXQ_6_2"
      unitRef="Unit_Standard_shares_eiECwuXP0kO6JM1Li4xT6g">5300</bld:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedOrExpiredInPeriod>
    <bld:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedOrExpiredWeightedAverageGrantDateFairValue
      contextRef="Duration_1_1_2023_To_3_31_2023_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockMember_4ijqTyXSBk22efw20Cbhig"
      decimals="2"
      id="Tc_876nJJQ7b0G5MTB8xAkF6g_6_5"
      unitRef="Unit_Divide_USD_shares_imdDf3-8d0qa5ZDAI6M6QA">242.76</bld:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedOrExpiredWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber
      contextRef="As_Of_3_31_2023_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockMember_gi0zPp63_UKnfJcl0TQvyQ"
      decimals="-2"
      id="Tc_mX8lcFZo00azeYZzBRGQ3g_7_2"
      unitRef="Unit_Standard_shares_eiECwuXP0kO6JM1Li4xT6g">168300</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue
      contextRef="As_Of_3_31_2023_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockMember_gi0zPp63_UKnfJcl0TQvyQ"
      decimals="2"
      id="Tc_cFKn0eAy5Uq09LpxFZo1VQ_7_5"
      unitRef="Unit_Divide_USD_shares_imdDf3-8d0qa5ZDAI6M6QA">225.41</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
      contextRef="As_Of_3_31_2023_us-gaap_AwardTypeAxis_us-gaap_EmployeeStockOptionMember_JYX_mBWuXk6uTfGNYEC3QQ"
      decimals="-2"
      id="Tc_JwhI6FY3rU2-I5d5fOBeXA_7_7"
      unitRef="Unit_Standard_shares_eiECwuXP0kO6JM1Li4xT6g">153400</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue
      contextRef="As_Of_3_31_2023_us-gaap_AwardTypeAxis_us-gaap_EmployeeStockOptionMember_JYX_mBWuXk6uTfGNYEC3QQ"
      decimals="2"
      id="Tc_FK-4Fk5u4ESdM1-42S4kbg_7_10"
      unitRef="Unit_Divide_USD_shares_imdDf3-8d0qa5ZDAI6M6QA">35.98</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice
      contextRef="As_Of_3_31_2023_us-gaap_AwardTypeAxis_us-gaap_EmployeeStockOptionMember_JYX_mBWuXk6uTfGNYEC3QQ"
      decimals="2"
      id="Tc_47MYTH3e0E-jX0Ry-mGpgQ_7_13"
      unitRef="Unit_Divide_USD_shares_imdDf3-8d0qa5ZDAI6M6QA">96.40</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue
      contextRef="As_Of_3_31_2023_us-gaap_AwardTypeAxis_us-gaap_EmployeeStockOptionMember_JYX_mBWuXk6uTfGNYEC3QQ"
      decimals="-2"
      id="Tc_UqZpvtF07keO1pWsJRdu7A_7_16"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">17277200</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber
      contextRef="As_Of_3_31_2023_us-gaap_AwardTypeAxis_us-gaap_EmployeeStockOptionMember_JYX_mBWuXk6uTfGNYEC3QQ"
      decimals="-2"
      id="Tc_XH6xghLAZ0Kzvkzd9DkGeQ_9_7"
      unitRef="Unit_Standard_shares_eiECwuXP0kO6JM1Li4xT6g">145900</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber>
    <bld:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageGrantDateFairValue
      contextRef="Duration_1_1_2023_To_3_31_2023_us-gaap_AwardTypeAxis_us-gaap_EmployeeStockOptionMember_ra7VRVHhWU2toZSs6t5jSg"
      decimals="2"
      id="Tc_KsmQpu5w5EatMd46ys_48w_9_10"
      unitRef="Unit_Divide_USD_shares_imdDf3-8d0qa5ZDAI6M6QA">33.25</bld:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice
      contextRef="As_Of_3_31_2023_us-gaap_AwardTypeAxis_us-gaap_EmployeeStockOptionMember_JYX_mBWuXk6uTfGNYEC3QQ"
      decimals="2"
      id="Tc_FBy4_42qpkuV2j1GUXEdRQ_9_13"
      unitRef="Unit_Divide_USD_shares_imdDf3-8d0qa5ZDAI6M6QA">90.39</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1
      contextRef="As_Of_3_31_2023_us-gaap_AwardTypeAxis_us-gaap_EmployeeStockOptionMember_JYX_mBWuXk6uTfGNYEC3QQ"
      decimals="-2"
      id="Tc_0Vz51ROzqEOWWnycDgVqNQ_9_16"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">17277200</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageRemainingContractualTerm1
      contextRef="Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA"
      id="Narr_dHstS4_NkEabGUXC9rWtAA">P5Y10M24D</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageRemainingContractualTerm1>
    <bld:ScheduleOfUnrecognizedShareBasedCompensationExpenseNonvestedAwards
      contextRef="Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA"
      id="Tb_QsEpkCGrfk2VTP229poe1g">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"&gt;We had unrecognized share-based compensation expense related to unvested awards is shown in the following table, dollars in thousands:&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:59.67%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.51%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.51%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.1%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.14%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:59.67%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.51%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:38.81%;background:#ffffff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;As of March&#160;31,&#160;2023&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:59.67%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.51%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;width:18.61%;background:#ffffff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Unrecognized Compensation Expense &lt;/b&gt;&lt;b style="font-weight:bold;"&gt;&lt;br/&gt;&lt;/b&gt;&lt;b style="font-weight:bold;"&gt;on Unvested Awards&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;width:18.66%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Weighted Average&lt;/b&gt;&lt;b style="font-weight:bold;"&gt;&lt;br/&gt;&lt;/b&gt;&lt;b style="font-weight:bold;"&gt;Remaining&lt;/b&gt;&lt;b style="font-weight:bold;"&gt;&lt;br/&gt;&lt;/b&gt;&lt;b style="font-weight:bold;"&gt;Compensation Expense Period&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:59.67%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;"&gt;RSAs&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.51%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.51%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.1%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 24,835&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.52%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.52%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.14%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:9pt;"&gt; 1.2&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:59.67%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;"&gt;Stock options&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.51%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.51%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 397&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.14%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:9pt;"&gt; 0.5&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:59.67%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;Total unrecognized compensation expense related to unvested awards&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.51%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.51%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.1%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 25,232&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.52%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.52%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.14%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;</bld:ScheduleOfUnrecognizedShareBasedCompensationExpenseNonvestedAwards>
    <us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions
      contextRef="As_Of_3_31_2023_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockMember_gi0zPp63_UKnfJcl0TQvyQ"
      decimals="-3"
      id="Tc_0EB64sph6UWbefTKRMHpEQ_3_3"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">24835000</us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions>
    <us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1
      contextRef="Duration_1_1_2023_To_3_31_2023_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockMember_4ijqTyXSBk22efw20Cbhig"
      id="Tc_Ulb15pT0yUWuEQGpmoiqlA_3_6">P1Y2M12D</us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1>
    <us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions
      contextRef="As_Of_3_31_2023_us-gaap_AwardTypeAxis_us-gaap_EmployeeStockOptionMember_JYX_mBWuXk6uTfGNYEC3QQ"
      decimals="-3"
      id="Tc_ACpU2BJAxUKfm3IC4rsDcA_4_3"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">397000</us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions>
    <us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1
      contextRef="Duration_1_1_2023_To_3_31_2023_us-gaap_AwardTypeAxis_us-gaap_EmployeeStockOptionMember_ra7VRVHhWU2toZSs6t5jSg"
      id="Tc_VXn7nDUPrkmr8MI3o-K53w_4_6">P0Y6M</us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1>
    <us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized
      contextRef="As_Of_3_31_2023_if5iG1tra0aH_pegPPBopw"
      decimals="-3"
      id="Tc_iuYDXI_s0U-ZwFWkm7bIHA_5_3"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">25232000</us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized>
    <bld:ScheduleOfShareBasedPaymentAwardRestrictedStockAwardsPayoutRangeAndRelatedExpenseTableTextBlock
      contextRef="Duration_1_1_2023_To_3_31_2023_bld_VestingCriteriaAxis_bld_VestingBasedOnPerformanceMember_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockMember_kcwD_RKwNEOBF7pNYw0mcA"
      id="Group_ZvY129LTTkuJmoM0-JLifA">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:41.14%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.33%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.33%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.96%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.33%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.33%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.96%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.33%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.33%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.96%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.33%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.33%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.96%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.33%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.88%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:41.14%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.33%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.33%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.96%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.33%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="11" style="vertical-align:bottom;white-space:nowrap;width:45.86%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Payout Ranges and Related Expense&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:41.14%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;RSAs with Performance-Based Conditions&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.33%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;width:10.3%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Grant Date Fair Value&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.33%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;width:10.3%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;0%&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.33%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;width:10.3%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;25%&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.33%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;width:10.3%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;100%&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.33%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;width:10.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;200%&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:41.14%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;February 16, 2021&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.33%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.33%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.96%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2,197&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.33%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.33%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.96%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; -&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.33%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.33%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.96%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 549&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.33%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.33%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.96%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2,197&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.33%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.88%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 4,394&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:41.14%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;February 15, 2022&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.33%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.33%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.96%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 3,097&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.33%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.33%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.96%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; -&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.33%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.33%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.96%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 774&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.33%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.33%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.96%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 3,097&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.33%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.88%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 6,194&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:41.14%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;February 21, 2023&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.33%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.33%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.96%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 4,192&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.33%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.33%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.96%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; -&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.33%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.33%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.96%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,048&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.33%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.33%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.96%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 4,192&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.33%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.88%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 8,384&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;</bld:ScheduleOfShareBasedPaymentAwardRestrictedStockAwardsPayoutRangeAndRelatedExpenseTableTextBlock>
    <bld:ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangePercentage
      contextRef="As_Of_2_16_2021_bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeAxis_bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeOneMember_bld_VestingCriteriaAxis_bld_VestingBasedOnPerformanceMember_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockMember_TQ1nMhAYWki37seY7smhhQ"
      decimals="2"
      id="Tc_PX2LQ-1NJEmflRbvsDz6Mw_2_5"
      unitRef="Unit_Standard_pure_AMt-SnY1f0Gk50TcxvjL4w">0</bld:ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangePercentage>
    <bld:ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangePercentage
      contextRef="As_Of_2_15_2022_bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeAxis_bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeOneMember_bld_VestingCriteriaAxis_bld_VestingBasedOnPerformanceMember_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockMember_FfGxCaBFRUiinAvspDeYjw"
      decimals="2"
      id="Tc_PX2LQ-1NJEmflRbvsDz6Mw_2_5_2"
      unitRef="Unit_Standard_pure_AMt-SnY1f0Gk50TcxvjL4w">0</bld:ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangePercentage>
    <bld:ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangePercentage
      contextRef="As_Of_2_21_2023_bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeAxis_bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeOneMember_bld_VestingCriteriaAxis_bld_VestingBasedOnPerformanceMember_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockMember_IO3StBpGPEaMgNYwkFi3Mg"
      decimals="2"
      id="Tc_PX2LQ-1NJEmflRbvsDz6Mw_2_5_3"
      unitRef="Unit_Standard_pure_AMt-SnY1f0Gk50TcxvjL4w">0</bld:ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangePercentage>
    <bld:ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangePercentage
      contextRef="As_Of_2_16_2021_bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeAxis_bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeTwoMember_bld_VestingCriteriaAxis_bld_VestingBasedOnPerformanceMember_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockMember_wQlfxRhuEEiIk1YVEIupOg"
      decimals="2"
      id="Tc_9YAeBTpxc0m4VI0QSF-vMg_2_8"
      unitRef="Unit_Standard_pure_AMt-SnY1f0Gk50TcxvjL4w">0.25</bld:ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangePercentage>
    <bld:ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangePercentage
      contextRef="As_Of_2_15_2022_bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeAxis_bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeTwoMember_bld_VestingCriteriaAxis_bld_VestingBasedOnPerformanceMember_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockMember_gzkUEjuqbUGHUIaU2L0iqQ"
      decimals="2"
      id="Tc_9YAeBTpxc0m4VI0QSF-vMg_2_8_2"
      unitRef="Unit_Standard_pure_AMt-SnY1f0Gk50TcxvjL4w">0.25</bld:ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangePercentage>
    <bld:ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangePercentage
      contextRef="As_Of_2_21_2023_bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeAxis_bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeTwoMember_bld_VestingCriteriaAxis_bld_VestingBasedOnPerformanceMember_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockMember_l5UG-ysvDk2viXbPGwMbEw"
      decimals="2"
      id="Tc_9YAeBTpxc0m4VI0QSF-vMg_2_8_3"
      unitRef="Unit_Standard_pure_AMt-SnY1f0Gk50TcxvjL4w">0.25</bld:ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangePercentage>
    <bld:ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangePercentage
      contextRef="As_Of_2_16_2021_bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeAxis_bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeThreeMember_bld_VestingCriteriaAxis_bld_VestingBasedOnPerformanceMember_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockMember_OmmzHBSRv0KhXVLpnBFIfg"
      decimals="2"
      id="Tc_Kk7sMcO6k0q_i-TAFjz2LA_2_11"
      unitRef="Unit_Standard_pure_AMt-SnY1f0Gk50TcxvjL4w">1</bld:ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangePercentage>
    <bld:ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangePercentage
      contextRef="As_Of_2_15_2022_bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeAxis_bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeThreeMember_bld_VestingCriteriaAxis_bld_VestingBasedOnPerformanceMember_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockMember_69B2qlpGiUyrS2sGtwV1Rg"
      decimals="2"
      id="Tc_Kk7sMcO6k0q_i-TAFjz2LA_2_11_2"
      unitRef="Unit_Standard_pure_AMt-SnY1f0Gk50TcxvjL4w">1</bld:ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangePercentage>
    <bld:ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangePercentage
      contextRef="As_Of_2_21_2023_bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeAxis_bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeThreeMember_bld_VestingCriteriaAxis_bld_VestingBasedOnPerformanceMember_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockMember_0-WmCsYgt0qXtbmsAf9p7Q"
      decimals="2"
      id="Tc_Kk7sMcO6k0q_i-TAFjz2LA_2_11_3"
      unitRef="Unit_Standard_pure_AMt-SnY1f0Gk50TcxvjL4w">1</bld:ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangePercentage>
    <bld:ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangePercentage
      contextRef="As_Of_2_16_2021_bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeAxis_bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeFourMember_bld_VestingCriteriaAxis_bld_VestingBasedOnPerformanceMember_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockMember_qn3f1xhgzU-6EowhoDebyQ"
      decimals="2"
      id="Tc_fTmrzEVrFk-Ug79UjChUDQ_2_14"
      unitRef="Unit_Standard_pure_AMt-SnY1f0Gk50TcxvjL4w">2</bld:ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangePercentage>
    <bld:ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangePercentage
      contextRef="As_Of_2_15_2022_bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeAxis_bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeFourMember_bld_VestingCriteriaAxis_bld_VestingBasedOnPerformanceMember_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockMember_20pQ2vjZmkSA5Dupjdkg8w"
      decimals="2"
      id="Tc_fTmrzEVrFk-Ug79UjChUDQ_2_14_2"
      unitRef="Unit_Standard_pure_AMt-SnY1f0Gk50TcxvjL4w">2</bld:ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangePercentage>
    <bld:ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangePercentage
      contextRef="As_Of_2_21_2023_bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeAxis_bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeFourMember_bld_VestingCriteriaAxis_bld_VestingBasedOnPerformanceMember_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockMember_jbDpA-QgMkKdsvXRK4OAKQ"
      decimals="2"
      id="Tc_fTmrzEVrFk-Ug79UjChUDQ_2_14_3"
      unitRef="Unit_Standard_pure_AMt-SnY1f0Gk50TcxvjL4w">2</bld:ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangePercentage>
    <bld:ShareBasedCompensationArrangementByShareBasedPaymentAwardOtherThanOptionsGrantsInPeriodTotalGrantDateFairValue
      contextRef="Duration_2_16_2021_To_2_16_2021_bld_VestingCriteriaAxis_bld_VestingBasedOnPerformanceMember_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockMember_mAR8SC5oNk-LBfrQnVMH1A"
      decimals="-3"
      id="Tc_aPqh7XhVaEKja7WNtsS9Nw_3_3"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">2197000</bld:ShareBasedCompensationArrangementByShareBasedPaymentAwardOtherThanOptionsGrantsInPeriodTotalGrantDateFairValue>
    <bld:ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeRelatedExpenses
      contextRef="As_Of_2_16_2021_bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeAxis_bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeTwoMember_bld_VestingCriteriaAxis_bld_VestingBasedOnPerformanceMember_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockMember_wQlfxRhuEEiIk1YVEIupOg"
      decimals="-3"
      id="Tc_47RkChqPv0STjuOd9TYK8Q_3_9"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">549000</bld:ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeRelatedExpenses>
    <bld:ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeRelatedExpenses
      contextRef="As_Of_2_16_2021_bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeAxis_bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeThreeMember_bld_VestingCriteriaAxis_bld_VestingBasedOnPerformanceMember_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockMember_OmmzHBSRv0KhXVLpnBFIfg"
      decimals="-3"
      id="Tc_4hg9lRh26UWkV-sm7O7bEw_3_12"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">2197000</bld:ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeRelatedExpenses>
    <bld:ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeRelatedExpenses
      contextRef="As_Of_2_16_2021_bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeAxis_bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeFourMember_bld_VestingCriteriaAxis_bld_VestingBasedOnPerformanceMember_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockMember_qn3f1xhgzU-6EowhoDebyQ"
      decimals="-3"
      id="Tc_0AZqd3pR40-mfPvKO1BQZA_3_15"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">4394000</bld:ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeRelatedExpenses>
    <bld:ShareBasedCompensationArrangementByShareBasedPaymentAwardOtherThanOptionsGrantsInPeriodTotalGrantDateFairValue
      contextRef="Duration_2_15_2022_To_2_15_2022_bld_VestingCriteriaAxis_bld_VestingBasedOnPerformanceMember_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockMember_Vngc00FGFUGnWHYv4_l1pA"
      decimals="-3"
      id="Tc_UW4gcTDxjk-hHq13CbR0IA_4_3"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">3097000</bld:ShareBasedCompensationArrangementByShareBasedPaymentAwardOtherThanOptionsGrantsInPeriodTotalGrantDateFairValue>
    <bld:ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeRelatedExpenses
      contextRef="As_Of_2_15_2022_bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeAxis_bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeTwoMember_bld_VestingCriteriaAxis_bld_VestingBasedOnPerformanceMember_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockMember_gzkUEjuqbUGHUIaU2L0iqQ"
      decimals="-3"
      id="Tc_qjbv5NOUGUSoTe1vwda-fA_4_9"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">774000</bld:ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeRelatedExpenses>
    <bld:ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeRelatedExpenses
      contextRef="As_Of_2_15_2022_bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeAxis_bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeThreeMember_bld_VestingCriteriaAxis_bld_VestingBasedOnPerformanceMember_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockMember_69B2qlpGiUyrS2sGtwV1Rg"
      decimals="-3"
      id="Tc_iRofPKNsgUG5h1gyujfKkA_4_12"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">3097000</bld:ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeRelatedExpenses>
    <bld:ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeRelatedExpenses
      contextRef="As_Of_2_15_2022_bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeAxis_bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeFourMember_bld_VestingCriteriaAxis_bld_VestingBasedOnPerformanceMember_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockMember_20pQ2vjZmkSA5Dupjdkg8w"
      decimals="-3"
      id="Tc_ojz2uShxhkK2UnYK-5la6w_4_15"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">6194000</bld:ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeRelatedExpenses>
    <bld:ShareBasedCompensationArrangementByShareBasedPaymentAwardOtherThanOptionsGrantsInPeriodTotalGrantDateFairValue
      contextRef="Duration_2_21_2023_To_2_21_2023_bld_VestingCriteriaAxis_bld_VestingBasedOnPerformanceMember_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockMember__yz4vCyaPU6tUT1ZnQJqww"
      decimals="-3"
      id="Tc_GtKA5oagLU69ON7keOE1pg_5_3"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">4192000</bld:ShareBasedCompensationArrangementByShareBasedPaymentAwardOtherThanOptionsGrantsInPeriodTotalGrantDateFairValue>
    <bld:ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeRelatedExpenses
      contextRef="As_Of_2_21_2023_bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeAxis_bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeTwoMember_bld_VestingCriteriaAxis_bld_VestingBasedOnPerformanceMember_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockMember_l5UG-ysvDk2viXbPGwMbEw"
      decimals="-3"
      id="Tc_8Rl2tMIPH0azvfqT20pcjw_5_9"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">1048000</bld:ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeRelatedExpenses>
    <bld:ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeRelatedExpenses
      contextRef="As_Of_2_21_2023_bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeAxis_bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeThreeMember_bld_VestingCriteriaAxis_bld_VestingBasedOnPerformanceMember_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockMember_0-WmCsYgt0qXtbmsAf9p7Q"
      decimals="-3"
      id="Tc_RMCwDhpnhEaKQsoLrFOp3A_5_12"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">4192000</bld:ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeRelatedExpenses>
    <bld:ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeRelatedExpenses
      contextRef="As_Of_2_21_2023_bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeAxis_bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeFourMember_bld_VestingCriteriaAxis_bld_VestingBasedOnPerformanceMember_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockMember_jbDpA-QgMkKdsvXRK4OAKQ"
      decimals="-3"
      id="Tc_aS8_IDdfz0WEb9sR4eic4g_5_15"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">8384000</bld:ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeRelatedExpenses>
    <bld:ShareBasedCompensationArrangementByShareBasedPaymentAwardOtherThanOptionsGrantsCumulativePeriodOfAchievement
      contextRef="Duration_1_1_2023_To_3_31_2023_bld_VestingCriteriaAxis_bld_VestingBasedOnPerformanceMember_us-gaap_AwardTypeAxis_bld_RestrictedStockAwardsGrantedFebruary2020Member_JDOLuVdfSUmfI_mfJmb_0w"
      id="Narr_t3uJiQgE40qnsImvdBlXXw">P3Y</bld:ShareBasedCompensationArrangementByShareBasedPaymentAwardOtherThanOptionsGrantsCumulativePeriodOfAchievement>
    <bld:ShareBasedCompensationArrangementByShareBasedPaymentAwardOtherThanOptionsGrantsCumulativePeriodOfAchievementPercentage
      contextRef="Duration_1_1_2023_To_3_31_2023_bld_VestingCriteriaAxis_bld_VestingBasedOnPerformanceMember_us-gaap_AwardTypeAxis_bld_RestrictedStockAwardsGrantedFebruary2020Member_JDOLuVdfSUmfI_mfJmb_0w"
      decimals="2"
      id="Narr_7S_Dm7Q_fUyEUiUY12LNcQ"
      unitRef="Unit_Standard_pure_AMt-SnY1f0Gk50TcxvjL4w">2</bld:ShareBasedCompensationArrangementByShareBasedPaymentAwardOtherThanOptionsGrantsCumulativePeriodOfAchievementPercentage>
    <bld:ShareBasedCompensationArrangementByShareBasedPaymentAwardOtherThanOptionsGrantsCumulativePeriodOfAchievement
      contextRef="Duration_1_1_2023_To_3_31_2023_bld_VestingCriteriaAxis_bld_VestingBasedOnPerformanceMember_us-gaap_AwardTypeAxis_bld_RestrictedStockAwardsGrantedFebruary2020Member_JDOLuVdfSUmfI_mfJmb_0w"
      id="Narr_06ckguwEvEGI9sUjvCYnRQ">P3Y</bld:ShareBasedCompensationArrangementByShareBasedPaymentAwardOtherThanOptionsGrantsCumulativePeriodOfAchievement>
    <bld:ShareBasedCompensationArrangementByShareBasedPaymentAwardOtherThanOptionsGrantsTotalCompensationExpenseRecognizedOverPerformancePeriod
      contextRef="Duration_1_1_2023_To_3_31_2023_bld_VestingCriteriaAxis_bld_VestingBasedOnPerformanceMember_us-gaap_AwardTypeAxis_bld_RestrictedStockAwardsGrantedFebruary2020Member_JDOLuVdfSUmfI_mfJmb_0w"
      decimals="-5"
      id="Narr_xK4_FmXKskOOQLJ_oHABVw"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">5000000.0</bld:ShareBasedCompensationArrangementByShareBasedPaymentAwardOtherThanOptionsGrantsTotalCompensationExpenseRecognizedOverPerformancePeriod>
    <bld:ScheduleOfShareBasedPaymentAwardOtherThanOptionsValuationAssumptionsTableTextBlock
      contextRef="Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA"
      id="Group_pDw11XnQcUyhRy0RMP0_7Q">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:73.43%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:73.43%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.43%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2023&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.43%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2022&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:73.43%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;Measurement period (years)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.13%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="font-size:9pt;"&gt; 2.86&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.13%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="font-size:9pt;"&gt; 2.87&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:73.43%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;Risk free interest rate&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 4.42&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1.76&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:73.43%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;Dividend yield&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.13%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 0.00&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.13%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 0.00&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:73.43%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;Estimated fair value of market-based RSAs at grant date&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 270.64&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 298.20&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</bld:ScheduleOfShareBasedPaymentAwardOtherThanOptionsValuationAssumptionsTableTextBlock>
    <bld:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRemainingMeasurementPeriod
      contextRef="Duration_1_1_2023_To_3_31_2023_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockMember_4ijqTyXSBk22efw20Cbhig"
      id="Tc_9aJwsbV8s0ueMCz10OS_Bg_2_3">P2Y10M9D</bld:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRemainingMeasurementPeriod>
    <bld:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRemainingMeasurementPeriod
      contextRef="Duration_1_1_2022_To_3_31_2022_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockMember_UKkWCt5HdEySMnjbgbyOng"
      id="Tc_-ZF2j5AIRU2gw4HtPO8bjw_2_7">P2Y10M13D</bld:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRemainingMeasurementPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate
      contextRef="Duration_1_1_2023_To_3_31_2023_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockMember_4ijqTyXSBk22efw20Cbhig"
      decimals="4"
      id="Tc_E2Etf4bM8USeJkLGNMmRFw_3_3"
      unitRef="Unit_Standard_pure_AMt-SnY1f0Gk50TcxvjL4w">0.0442</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate
      contextRef="Duration_1_1_2022_To_3_31_2022_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockMember_UKkWCt5HdEySMnjbgbyOng"
      decimals="4"
      id="Tc_WOqTq5mT90KicuNXYDUugQ_3_7"
      unitRef="Unit_Standard_pure_AMt-SnY1f0Gk50TcxvjL4w">0.0176</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate
      contextRef="Duration_1_1_2023_To_3_31_2023_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockMember_4ijqTyXSBk22efw20Cbhig"
      decimals="4"
      id="Tc_-W13sIOf0kOBJvEBql1qzQ_4_3"
      unitRef="Unit_Standard_pure_AMt-SnY1f0Gk50TcxvjL4w">0.0000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate
      contextRef="Duration_1_1_2022_To_3_31_2022_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockMember_UKkWCt5HdEySMnjbgbyOng"
      decimals="4"
      id="Tc_57rMQrnb8k-2aW-_qZ-SdQ_4_7"
      unitRef="Unit_Standard_pure_AMt-SnY1f0Gk50TcxvjL4w">0.0000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate>
    <bld:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsEstimatedFairValueOfAwardsGranted
      contextRef="Duration_1_1_2023_To_3_31_2023_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockMember_4ijqTyXSBk22efw20Cbhig"
      decimals="2"
      id="Tc_KEo85yPiAE6TZ1h-qg_Rvg_5_3"
      unitRef="Unit_Divide_USD_shares_imdDf3-8d0qa5ZDAI6M6QA">270.64</bld:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsEstimatedFairValueOfAwardsGranted>
    <bld:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsEstimatedFairValueOfAwardsGranted
      contextRef="Duration_1_1_2022_To_3_31_2022_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockMember_UKkWCt5HdEySMnjbgbyOng"
      decimals="2"
      id="Tc_XGrNElcVc0aL1s2LwCt8Iw_5_7"
      unitRef="Unit_Divide_USD_shares_imdDf3-8d0qa5ZDAI6M6QA">298.20</bld:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsEstimatedFairValueOfAwardsGranted>
    <us-gaap:BusinessCombinationDisclosureTextBlock
      contextRef="Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA"
      id="Tb_a8qLMyhYBkyOEjnRmBgqPA">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;b style="font-weight:bold;white-space:pre-wrap;"&gt;11.  BUSINESS COMBINATIONS&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"&gt;Acquiring businesses is a key part of our ongoing strategy to grow our company and expand our market share. &#160;Each acquisition has been accounted for as a business combination under ASC 805, &#x201c;Business Combinations.&#x201d; &#160;Acquisition related costs for the three months ended March 31, 2023 and 2022, were $1.7 million and $0.9 million, respectively. &#160;Acquisition related costs are included in selling, general, and administrative expense in our condensed consolidated statements of operations.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"&gt;On January 26, 2023, we acquired the assets of the residential insulation business of SRI. This installation acquisition enhanced our presence in Georgia, Michigan, Ohio, Florida, Alabama and South Carolina. The purchase price of $45.8 million was funded by cash on hand and we recognized goodwill of $25.4 in connection with this acquisition.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"&gt;&lt;span style="background:#ffffff;"&gt;As third-party or internal valuations are finalized, certain tax aspects of the foregoing transactions are completed, and customer post-closing reviews are concluded, adjustments may be made to the fair value of assets acquired, and in some cases total purchase price, through the end of each measurement period, generally one year following the applicable acquisition date. &#160;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"&gt;The table below provides a summary as of March 31, 2023 for the businesses acquired and paid for with cash during the three months ended March 31, 2022, in thousands:&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:33.34%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.15%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:18.74%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:18.74%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:33.34%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2022 Acquisitions&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:9pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:16.65%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Date&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';"&gt;&#160;&#160;&#160;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:21.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Cash Paid&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;width:21.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Goodwill Acquired&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:33.34%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;"&gt;Billings&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;2/3/2022&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:18.74%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 7,005&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:18.74%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 3,313&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:33.34%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;"&gt;All others&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;Various&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:18.74%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,500&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:18.74%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 780&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:33.34%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;Total&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.5%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:18.74%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 8,505&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.5%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:18.74%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 4,093&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"&gt;Goodwill to be recognized in connection with acquisitions is attributable to the synergies expected to be realized and improvements in the businesses after the acquisitions. &#160;Primarily all of the $25.4 million and $4.1 million of goodwill recorded from acquisitions completed in the three months ended March 31, 2023 and 2022, respectively, is expected to be deductible for income tax purposes.&lt;/p&gt;</us-gaap:BusinessCombinationDisclosureTextBlock>
    <us-gaap:BusinessCombinationAcquisitionRelatedCosts
      contextRef="Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA"
      decimals="-5"
      id="Narr_LadRLPf8KkG82yWdkg7DNg"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">1700000</us-gaap:BusinessCombinationAcquisitionRelatedCosts>
    <us-gaap:BusinessCombinationAcquisitionRelatedCosts
      contextRef="Duration_1_1_2022_To_3_31_2022_6vn3vE91T0CiaH7EkBeDAw"
      decimals="-5"
      id="Narr_744MxHn2UECvt-PEqmh4CQ"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">900000</us-gaap:BusinessCombinationAcquisitionRelatedCosts>
    <us-gaap:BusinessCombinationConsiderationTransferred1
      contextRef="Duration_1_26_2023_To_1_26_2023_us-gaap_BusinessAcquisitionAxis_bld_SriHoldingsMember_nTTMPP_zqEyg1SIj1QMP8w"
      decimals="-5"
      id="Narr_RzQfu3tAb0WzTl8MK4aGAA"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">45800000</us-gaap:BusinessCombinationConsiderationTransferred1>
    <us-gaap:Goodwill
      contextRef="As_Of_1_26_2023_-udp3RObVE6S73XWB9r0EQ"
      decimals="-5"
      id="Narr_q9g_3wpIc0CPK-8zx0CsSg"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">25400000</us-gaap:Goodwill>
    <us-gaap:ScheduleOfBusinessAcquisitionsByAcquisitionTextBlock
      contextRef="Duration_1_1_2023_To_3_31_2023_us-gaap_BusinessAcquisitionAxis_bld_Acquisitions2022Member_1QXhCc_AR0OBZkhKxfgkNw"
      id="Tb_vt_wMBIcnEGG0IyfgKCdgg">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:33.34%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.15%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:18.74%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:18.74%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:33.34%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2022 Acquisitions&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:9pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:16.65%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Date&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';"&gt;&#160;&#160;&#160;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:21.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Cash Paid&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;width:21.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Goodwill Acquired&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:33.34%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;"&gt;Billings&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;2/3/2022&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:18.74%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 7,005&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:18.74%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 3,313&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:33.34%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;"&gt;All others&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;Various&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:18.74%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,500&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:18.74%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 780&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:33.34%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;Total&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.5%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:18.74%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 8,505&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.5%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:18.74%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 4,093&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;</us-gaap:ScheduleOfBusinessAcquisitionsByAcquisitionTextBlock>
    <us-gaap:PaymentsToAcquireBusinessesGross
      contextRef="Duration_2_23_2022_To_2_23_2022_us-gaap_BusinessAcquisitionAxis_bld_BillingsInsulationServiceInc.Member_Pshe7EaeS0-Oyt4mLUscag"
      decimals="-3"
      id="Tc_JP6YHfWQlkuoLXPdOgT4Sw_2_6"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">7005000</us-gaap:PaymentsToAcquireBusinessesGross>
    <us-gaap:GoodwillAcquiredDuringPeriod
      contextRef="Duration_2_23_2022_To_2_23_2022_us-gaap_BusinessAcquisitionAxis_bld_BillingsInsulationServiceInc.Member_Pshe7EaeS0-Oyt4mLUscag"
      decimals="-3"
      id="Tc_9v2IhU5sdUC8p-YLOixnNQ_2_9"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">3313000</us-gaap:GoodwillAcquiredDuringPeriod>
    <us-gaap:PaymentsToAcquireBusinessesGross
      contextRef="Duration_1_1_2022_To_3_31_2022_us-gaap_BusinessAcquisitionAxis_us-gaap_SeriesOfIndividuallyImmaterialBusinessAcquisitionsMember_q6UeZXiAL06a3rbU9Kgdmg"
      decimals="-3"
      id="Tc_U1j_ZJGjvEaFgLDKq1fHRw_3_6"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">1500000</us-gaap:PaymentsToAcquireBusinessesGross>
    <us-gaap:GoodwillAcquiredDuringPeriod
      contextRef="Duration_1_1_2022_To_3_31_2022_us-gaap_BusinessAcquisitionAxis_us-gaap_SeriesOfIndividuallyImmaterialBusinessAcquisitionsMember_q6UeZXiAL06a3rbU9Kgdmg"
      decimals="-3"
      id="Tc_smM79HqxMEGchfYGUATjFg_3_9"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">780000</us-gaap:GoodwillAcquiredDuringPeriod>
    <us-gaap:PaymentsToAcquireBusinessesGross
      contextRef="Duration_1_1_2022_To_3_31_2022_us-gaap_BusinessAcquisitionAxis_bld_Acquisitions2022Member_nqN1YfNvu0qGN9sc0Tbtiw"
      decimals="-3"
      id="Tc_rpnhjjG6kEe-wu7Ua7rbLQ_4_6"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">8505000</us-gaap:PaymentsToAcquireBusinessesGross>
    <us-gaap:GoodwillAcquiredDuringPeriod
      contextRef="Duration_1_1_2022_To_3_31_2022_us-gaap_BusinessAcquisitionAxis_bld_Acquisitions2022Member_nqN1YfNvu0qGN9sc0Tbtiw"
      decimals="-3"
      id="Tc_FLPESoxPlk2yyjRfnuAItQ_4_9"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">4093000</us-gaap:GoodwillAcquiredDuringPeriod>
    <us-gaap:BusinessAcquisitionPurchasePriceAllocationGoodwillExpectedTaxDeductibleAmount
      contextRef="As_Of_3_31_2023_if5iG1tra0aH_pegPPBopw"
      decimals="-5"
      id="Narr_gOq_OD3qxE-vqdSkAKCgWA"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">25400000</us-gaap:BusinessAcquisitionPurchasePriceAllocationGoodwillExpectedTaxDeductibleAmount>
    <us-gaap:BusinessAcquisitionPurchasePriceAllocationGoodwillExpectedTaxDeductibleAmount
      contextRef="As_Of_3_31_2022__Zk_lDEdHEWJ823DIF3NZg"
      decimals="-5"
      id="Narr_kPSvnCWWvUOsauDjXrIG-A"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">4100000</us-gaap:BusinessAcquisitionPurchasePriceAllocationGoodwillExpectedTaxDeductibleAmount>
    <bld:AccruedLiabilitiesDisclosureTextBlock
      contextRef="Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA"
      id="Tb_LqeNthEnAUC6oKXWIicFwg">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:6pt 0pt 0pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;12. &#160;ACCRUED LIABILITIES&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"&gt;The following table sets forth the components of accrued liabilities, in thousands:&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:66.28%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.42%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.11%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.96%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:66.28%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:31.84%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;As of&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:66.28%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.53%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;March 31, 2023&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.44%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;December 31, 2022&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:66.28%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;Accrued liabilities: &lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.42%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.11%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.96%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:66.28%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;"&gt;Salaries, wages, and bonus/commissions&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.42%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.11%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 52,742&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.96%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 75,901&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:66.28%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;"&gt;Income taxes payable&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.42%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.11%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 40,740&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.96%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2,134&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:66.28%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;"&gt;Insurance liabilities&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.42%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.11%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 28,199&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.96%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 28,870&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:66.28%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;"&gt;Customer rebates&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.42%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.11%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 11,169&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.96%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 21,561&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:66.28%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;"&gt;Deferred revenue&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.42%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.11%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 20,738&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.96%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 21,940&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:66.28%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;"&gt;Sales and property taxes&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.42%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.11%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 15,850&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.96%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 15,757&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:66.28%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;"&gt;Interest payable on long-term debt&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.42%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.11%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 3,193&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.96%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 12,146&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:66.28%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;"&gt;Other&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.42%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.11%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 20,716&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.96%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 21,061&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:66.28%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;Total accrued liabilities&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.42%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.11%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 193,347&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.96%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 199,370&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"&gt;&lt;span style="font-size:3pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"&gt;&lt;span style="font-size:2pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"&gt;See &lt;i style="font-style:italic;"&gt;Note 3 &#x2013; Revenue Recognition &lt;/i&gt;for discussion of our deferred revenue balances. Accrued income taxes payable increased compared to December 31, 2022, due to the timing of tax payments, which typically occur later in the year.&lt;/p&gt;</bld:AccruedLiabilitiesDisclosureTextBlock>
    <us-gaap:ScheduleOfAccruedLiabilitiesTableTextBlock
      contextRef="Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA"
      id="Tb_dZaoJ0eZq06RUtljomqjZA">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"&gt;The following table sets forth the components of accrued liabilities, in thousands:&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:66.28%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.42%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.11%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.96%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:66.28%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:31.84%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;As of&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:66.28%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.53%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;March 31, 2023&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.44%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;December 31, 2022&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:66.28%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;Accrued liabilities: &lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.42%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.11%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.96%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:66.28%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;"&gt;Salaries, wages, and bonus/commissions&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.42%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.11%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 52,742&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.96%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 75,901&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:66.28%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;"&gt;Income taxes payable&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.42%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.11%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 40,740&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.96%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2,134&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:66.28%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;"&gt;Insurance liabilities&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.42%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.11%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 28,199&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.96%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 28,870&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:66.28%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;"&gt;Customer rebates&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.42%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.11%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 11,169&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.96%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 21,561&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:66.28%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;"&gt;Deferred revenue&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.42%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.11%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 20,738&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.96%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 21,940&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:66.28%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;"&gt;Sales and property taxes&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.42%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.11%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 15,850&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.96%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 15,757&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:66.28%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;"&gt;Interest payable on long-term debt&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.42%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.11%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 3,193&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.96%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 12,146&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:66.28%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;"&gt;Other&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.42%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.11%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 20,716&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.96%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 21,061&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:66.28%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;Total accrued liabilities&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.42%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.11%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 193,347&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.96%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 199,370&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"&gt;&lt;span style="font-size:3pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;</us-gaap:ScheduleOfAccruedLiabilitiesTableTextBlock>
    <us-gaap:EmployeeRelatedLiabilitiesCurrent
      contextRef="As_Of_3_31_2023_if5iG1tra0aH_pegPPBopw"
      decimals="-3"
      id="Tc_7YENQyipnEKakpQ1ca9iZg_4_3"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">52742000</us-gaap:EmployeeRelatedLiabilitiesCurrent>
    <us-gaap:EmployeeRelatedLiabilitiesCurrent
      contextRef="As_Of_12_31_2022_3M6K0OeVvUOHwft-0BiHjg"
      decimals="-3"
      id="Tc_tmYD-XmRhE6FYSR5krNG3w_4_6"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">75901000</us-gaap:EmployeeRelatedLiabilitiesCurrent>
    <us-gaap:AccruedIncomeTaxesCurrent
      contextRef="As_Of_3_31_2023_if5iG1tra0aH_pegPPBopw"
      decimals="-3"
      id="Tc_IIxHwIdDrUWEh1Fl2kUY_Q_5_3"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">40740000</us-gaap:AccruedIncomeTaxesCurrent>
    <us-gaap:AccruedIncomeTaxesCurrent
      contextRef="As_Of_12_31_2022_3M6K0OeVvUOHwft-0BiHjg"
      decimals="-3"
      id="Tc_-d-EqccjsUWAMmh02EsLmA_5_6"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">2134000</us-gaap:AccruedIncomeTaxesCurrent>
    <us-gaap:AccruedInsuranceCurrent
      contextRef="As_Of_3_31_2023_if5iG1tra0aH_pegPPBopw"
      decimals="-3"
      id="Tc_yXGUwOlNPEaYD5JwgIaUbQ_6_3"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">28199000</us-gaap:AccruedInsuranceCurrent>
    <us-gaap:AccruedInsuranceCurrent
      contextRef="As_Of_12_31_2022_3M6K0OeVvUOHwft-0BiHjg"
      decimals="-3"
      id="Tc_KwLh4tKMakCCbtVtu50HLA_6_6"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">28870000</us-gaap:AccruedInsuranceCurrent>
    <bld:AccruedCustomerRebatesCurrent
      contextRef="As_Of_3_31_2023_if5iG1tra0aH_pegPPBopw"
      decimals="-3"
      id="Tc_AZqPH56_CESOTEeK-QUmeQ_7_3"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">11169000</bld:AccruedCustomerRebatesCurrent>
    <bld:AccruedCustomerRebatesCurrent
      contextRef="As_Of_12_31_2022_3M6K0OeVvUOHwft-0BiHjg"
      decimals="-3"
      id="Tc_rrLz32yFck-QkhBp10_Wig_7_6"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">21561000</bld:AccruedCustomerRebatesCurrent>
    <us-gaap:ContractWithCustomerLiabilityCurrent
      contextRef="As_Of_3_31_2023_if5iG1tra0aH_pegPPBopw"
      decimals="-3"
      id="Tc_7BCE9lI010-bORndm7FPCw_8_3"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">20738000</us-gaap:ContractWithCustomerLiabilityCurrent>
    <us-gaap:ContractWithCustomerLiabilityCurrent
      contextRef="As_Of_12_31_2022_3M6K0OeVvUOHwft-0BiHjg"
      decimals="-3"
      id="Tc_jwsqSwHm-UiGa9xgeEkDgw_8_6"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">21940000</us-gaap:ContractWithCustomerLiabilityCurrent>
    <bld:AccruedSalesAndPropertyTaxesCurrent
      contextRef="As_Of_3_31_2023_if5iG1tra0aH_pegPPBopw"
      decimals="-3"
      id="Tc_zuisSYswZ0CVBQd7kKdlsA_9_3"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">15850000</bld:AccruedSalesAndPropertyTaxesCurrent>
    <bld:AccruedSalesAndPropertyTaxesCurrent
      contextRef="As_Of_12_31_2022_3M6K0OeVvUOHwft-0BiHjg"
      decimals="-3"
      id="Tc_TumBM_6M2EKZmbu8nAhkXQ_9_6"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">15757000</bld:AccruedSalesAndPropertyTaxesCurrent>
    <us-gaap:InterestPayableCurrent
      contextRef="As_Of_3_31_2023_if5iG1tra0aH_pegPPBopw"
      decimals="-3"
      id="Tc_lCsyqtpnWEuUle9f-th1nA_10_3"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">3193000</us-gaap:InterestPayableCurrent>
    <us-gaap:InterestPayableCurrent
      contextRef="As_Of_12_31_2022_3M6K0OeVvUOHwft-0BiHjg"
      decimals="-3"
      id="Tc_r2bjNJPEYE-zqVdW58HjkA_10_6"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">12146000</us-gaap:InterestPayableCurrent>
    <us-gaap:OtherAccruedLiabilitiesCurrent
      contextRef="As_Of_3_31_2023_if5iG1tra0aH_pegPPBopw"
      decimals="-3"
      id="Tc_8b30WhPpiUObgRGdAmiHMQ_11_3"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">20716000</us-gaap:OtherAccruedLiabilitiesCurrent>
    <us-gaap:OtherAccruedLiabilitiesCurrent
      contextRef="As_Of_12_31_2022_3M6K0OeVvUOHwft-0BiHjg"
      decimals="-3"
      id="Tc_H7Fq_hOycUuYf26Dh6Pe9g_11_6"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">21061000</us-gaap:OtherAccruedLiabilitiesCurrent>
    <bld:AccruedLiabilitiesAndEmployeeRelatedLiabilitiesCurrent
      contextRef="As_Of_3_31_2023_if5iG1tra0aH_pegPPBopw"
      decimals="-3"
      id="Tc_H2bivySfU0yM_paudwPf5g_12_3"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">193347000</bld:AccruedLiabilitiesAndEmployeeRelatedLiabilitiesCurrent>
    <bld:AccruedLiabilitiesAndEmployeeRelatedLiabilitiesCurrent
      contextRef="As_Of_12_31_2022_3M6K0OeVvUOHwft-0BiHjg"
      decimals="-3"
      id="Tc_IYRkAWGv5kSTyckZCsWdSg_12_6"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">199370000</bld:AccruedLiabilitiesAndEmployeeRelatedLiabilitiesCurrent>
    <us-gaap:CommitmentsAndContingenciesDisclosureTextBlock
      contextRef="Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA"
      id="Tb_d7viN08Hlkm7Kb49L2830A">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;13. &#160;OTHER COMMITMENTS AND CONTINGENCIES&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;Litigation&lt;/span&gt;. &#160;We are subject to certain claims, charges, litigation, and other proceedings in the ordinary course of our business, including those arising from or related to contractual matters, intellectual property, personal injury, environmental matters, product liability, product recalls, construction defects, insurance coverage, personnel and employment disputes, antitrust, and other matters, including class actions. &#160;We believe we have adequate defenses in these matters, and we do not believe that the ultimate outcome of these matters will have a material adverse effect on us. &#160;However, there is no assurance that we will prevail in any of these pending matters, and we could in the future incur judgments, enter into settlements of claims, or revise our expectations regarding the outcome of these matters, which could materially impact our liquidity and our results of operations.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Other Matters&lt;/b&gt;.&#160; We enter into contracts, which include customary indemnities that are standard for the industries in which we operate. &#160;Such indemnities include, among other things, claims against our builder customers for issues relating to our workmanship. &#160;We generally exclude from our contracts with builder customers indemnity relating to product quality and warranty claims, as we pass such claims directly to the manufacturers of the products we install or distribute. &#160;In conjunction with divestitures and other transactions, we occasionally provide customary indemnities relating to various items including, among others, the enforceability of trademarks, legal and environmental issues, and asset valuations. &#160;We evaluate the probability that we may incur liabilities under these customary indemnities and appropriately record an estimated liability when deemed probable.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"&gt;We also maintain indemnification agreements with our directors and officers that may require us to indemnify them against liabilities that arise by reason of their status or service as directors or officers, except as prohibited by applicable law.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"&gt;We occasionally use performance bonds to ensure completion of our work on certain larger customer contracts that can span multiple accounting periods.&#160; Performance bonds generally do not have stated expiration dates; rather, we are released from the bonds as the contractual performance is completed.&#160; We also have bonds outstanding for license and insurance.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"&gt;The following table summarizes our outstanding performance, licensing, insurance and other bonds, in thousands:&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:67.62%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.85%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.47%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:67.62%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:30.86%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;As of&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:67.62%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.36%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;March 31, 2023&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;December 31, 2022&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:67.62%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;Outstanding bonds:&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:9pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.52%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.47%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:9pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:67.62%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;"&gt;Performance bonds&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 147,468&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.47%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 152,434&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:67.62%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;"&gt;Licensing, insurance, and other bonds&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.85%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 25,527&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.52%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.47%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 25,439&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:67.62%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;Total bonds&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.85%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 172,995&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.52%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.47%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 177,873&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;</us-gaap:CommitmentsAndContingenciesDisclosureTextBlock>
    <bld:BondsOutstandingTableTextBlock
      contextRef="Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA"
      id="Tb_bpyBvdGREkG_tqWl88Tgkw">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"&gt;The following table summarizes our outstanding performance, licensing, insurance and other bonds, in thousands:&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:67.62%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.85%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.47%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:67.62%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:30.86%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;As of&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:67.62%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.36%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;March 31, 2023&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;December 31, 2022&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:67.62%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;Outstanding bonds:&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:9pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.52%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.47%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:9pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:67.62%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;"&gt;Performance bonds&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 147,468&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.47%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 152,434&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:67.62%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;"&gt;Licensing, insurance, and other bonds&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.85%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 25,527&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.52%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.47%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 25,439&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:67.62%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;Total bonds&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.85%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 172,995&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.52%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.47%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 177,873&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</bld:BondsOutstandingTableTextBlock>
    <bld:PerformanceBondsOutstanding
      contextRef="As_Of_3_31_2023_if5iG1tra0aH_pegPPBopw"
      decimals="-3"
      id="Tc_wjBcPOc3-0-TEVRXcPV4BQ_4_3"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">147468000</bld:PerformanceBondsOutstanding>
    <bld:PerformanceBondsOutstanding
      contextRef="As_Of_12_31_2022_3M6K0OeVvUOHwft-0BiHjg"
      decimals="-3"
      id="Tc_Wm_PwNmGS0eBqqh_pcoesA_4_6"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">152434000</bld:PerformanceBondsOutstanding>
    <bld:LicenseAndInsuranceRelatedAndOtherBondsOutstanding
      contextRef="As_Of_3_31_2023_if5iG1tra0aH_pegPPBopw"
      decimals="-3"
      id="Tc_M4y3KCJRMEm5UervT7gGYQ_5_3"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">25527000</bld:LicenseAndInsuranceRelatedAndOtherBondsOutstanding>
    <bld:LicenseAndInsuranceRelatedAndOtherBondsOutstanding
      contextRef="As_Of_12_31_2022_3M6K0OeVvUOHwft-0BiHjg"
      decimals="-3"
      id="Tc_i8Ur2x77jk6XYyU5g23PNA_5_6"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">25439000</bld:LicenseAndInsuranceRelatedAndOtherBondsOutstanding>
    <bld:BondsOutstanding
      contextRef="As_Of_3_31_2023_if5iG1tra0aH_pegPPBopw"
      decimals="-3"
      id="Tc_z1xMFk74QUeUcU2c9yoyJQ_6_3"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">172995000</bld:BondsOutstanding>
    <bld:BondsOutstanding
      contextRef="As_Of_12_31_2022_3M6K0OeVvUOHwft-0BiHjg"
      decimals="-3"
      id="Tc_rjTIaB7_CUihbG3UmtiUGw_6_6"
      unitRef="Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw">177873000</bld:BondsOutstanding>
</xbrl>
</XML>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EXCEL
<SEQUENCE>65
<FILENAME>Financial_Report.xlsx
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
begin 644 Financial_Report.xlsx
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
M29')VAC [S=*Z:<;\VFR_Q2]_ ]02P,$%     @ M8"D5K< KX13 P  @0L
M !@   !X;"]W;W)K<VAE971S+W-H965T,RYX;6RMEFUOFS 0Q[^*Q::IE;KR
ME #I$J0TR;1)6Q<MW?;:!2=8-9C9)MGVZ7<&RB E:;HM+X(-=W__[CCC&^^X
MN)<)(0K]2%DF)T:B5'YEFC)*2(KE)<])!D_67*18P51L3)D+@N/2*66F8UF>
MF6*:&>&XO+<4X9@7BM&,+ 6219IB\?.:,+Z;&+;Q<.,SW21*WS##<8XW9$74
MEWPI8&8V*C%-228ISY @ZXDQM:]FMJ,=2HNOE.QD:XQT*'><W^O)^WAB6)J(
M,!(I+8'ALB4SPIA6 H[OM:C1K*D=V^,'];=E\!#,'99DQMDW&JMD8@0&BLD:
M%TQ]YKMWI YHJ/4BSF3YCW:5K3\R4%1(Q=/:&0A2FE57_*-.1,O!'AQP<&H'
MYU0'MW9PRT KLC*L.58X' N^0T);@YH>E+DIO2$:FNG7N%("GE+P4^'LT\U\
M<;-:S!&,5I\^O)]/;V%R/?TPO9DMT.K=8G&[0F=++$BF$J)HA-DY>HV^K.;H
M[.4Y>HEHAFX37DB<Q7)L*F#2RF94KW]=K>\<6/\C%I?(M2^08SENC_OLN/N<
M1(V[TW4W(1--.IPF'4ZIY_Y+.OJBK&0'_;)Z+U[)'$=D8L!FDT1LB1&^>F%[
MUIN^F/^36"<#;I,!]YAZ.&6PLW$6$03?"!0)$E.%&)>2]+[=2LPKQ?0G8QL"
MA^6/S6T[H#XK)[ ;JP[IH"$='"5=PH8G @ 1[)+H_@+E6* M9@5!9U"4,6<,
M"XER E^M!.KWO(^_6L)OD5F7EKV'_X11AW[8T ^?1U\R2H0+E7!!?Y&X#[?2
M'+83:56_/>03##O87H/M_0WV!:)2%OW,WB.4?=AC%AU*OZ'T_XX2#C*IX$M%
MLTT?JO\DZC&+#FK0H 9'46<\3>$X^X<2#DXIX2>,.NBC!GWT#/23ZG?T*'W.
ML+^ 3['L4-O6GR//>C[WX?JMU=HH[FC@#;T@V&/NM72=X<CV#C"WCFG[^<Q/
M5',MV<&Q?<BBO9_L7DMOX 2N<P#\SX%J'SVMPEMH+F4A?NZ7B4(1EZH7VWD$
MX_OVT/,?I;O'T M<*QCL09NM_D@WI]!T;&@F$2-K\+0N?9 05;]7313/RY;I
MCBMHP,IA CTR$=H GJ\Y5P\3W84U77?X&U!+ P04    " "U@*16D!)Q3(L$
M  "<$0  &    'AL+W=O<FMS:&5E=',O<VAE970T+GAM;*U8;6_B.!#^*U9N
M==J5NB2V\]H#I)9V]RI=2[5T;S^[8"#:).9L4WK__B8))! <WYW$%Q(G,^-G
MQL/SV!GNA/RIUIQK])YGA1HY:ZTWUZZKYFN>,S40&U[ FZ60.=,PE"M7;21G
MB\HISUSB>:&;L[1PQL/JV;,<#\569VG!GR52VSQG\N];GHG=R,'.X<&W=+76
MY0-W/-RP%9]Q_7WS+&'D-E$6:<X+E8H"2;X<.3?X>D(JA\KBSY3OU-$]*E-Y
M%>)G.7A8C!RO1,0S/M=E" :7-S[A659& AQ_[8,ZS9REX_'](?J7*GE(YI4I
M/A'9CW2AUR,G=M""+]DVT]_$[G>^3R@HX\U%IJI?M*MM(^J@^59ID>^= 4&>
M%O65O>\+<>0 <<P.9.] N@Y^CP/=.] JT1I9E=8=TVP\E&*'9&D-T<J;JC:5
M-V23%N4RSK2$MRGXZ?%D^G1W_S2[OT-P-YO^\7!W\P*#V0M<'N^?7F9H^@5-
MG^^_W;P\@ 'ZC+[/[M#'#Y_0!Y06Z&4MMHH5"S5T-: I8[KS_<RW]<RD9V:*
M'D6AUPK=%PN^./5W(8LF%7)(Y998 SXR.4 47R'B$6K ,_GO[L0"AS:5I54\
M>IG*F@I83^";)RC_X-=JP^9\Y, _6''YQIWQK[_@T/O-E/V%@IW4PF]JX=NB
MCY^ CQ3+N+%-:M>P<BU9YVV,21@0&@_=M^,$#'8XC!/<VIU@"QIL@17;1"B-
MQ+(?7^T>',T;)T'58B?P#&8TBG!D1A<VZ$(KNJ]2*(4V4BQ3;0(7GLU*(X_@
MH /.8$8Q\; 97-2 BZS@9L"^:;&Z0BM><,FR*P14@-@">"I56K*2H1%_!\E1
MW 0^.D.%(R^*_0YX@UD8$;^GLG$#/K:"GVYXB;!86:H;G\^<)#[%'8 &LY F
M@6\&F#0 $RN!3/6:2R#9N<@Y^K@OXZ<K5'!];0*;7)(M+A3L)''LM:+D6=?F
MH= <XFI;\^Q#'%?],XX]FG06QVB'DS TKPX^4DYL;Z!R?:KE,,+#AMXY(PV#
M51CW] TF+3+R[\@.M>M'2 R%"8%3NQA-=IC$I =F*Y#8JCFPRE5KOW+8C?)#
MHVOV;J;A?;"3@L; 8EVJ,]D%! BC!VZK8=@N8@\-0&M;^N?5\B/?/X-IL*-1
M$O90,F[E#-OUK-3:NI9&>,&YBM(@CKPN/(,=]B/<!Z_5,QQ:6:V%AX" $=SD
ML)M7:R:YD=6P51__+ZU=*MII\JU>8KM@WC*5SHU9UG[14;G]P9G.&*SH(.A9
MD58'L5T([])LJ[L[\#VLV "+=#=F!BLZZ)-GW,H?MNO?C^H(QF%#\09*O>)U
MDR@$AU&E8:,!TFWNF(L*X:6BG1YI6B4D=B7L[1AR+FO A8$7!MWE,5F2B,8!
MZ6D=TDH@L4N@I77(N;)1'&%*S@3:9$D]G_B)U\'G'IUS<RY7U?%? 8=L"UV?
M$YNGS2>&F^I@W7E^BZ\G]8>"-DS]W0).@:NT4"CC2PCI#2* )>M/ ?5 BTUU
MFGX5&L[FU>V:LP67I0&\7PJA#X-R@N:#S/@?4$L#!!0    ( +6 I%:,;]"/
MT (  "4(   8    >&PO=V]R:W-H965T<R]S:&5E=#4N>&ULK59M;]HP$/XK
M5E9-F[0U;T!:!I'*2U6D\:)"N\]N<I!LB<UL ^V_W]D)&; 4[0-?B,^^Y_%S
M=\D=G1T7OV0"H,AKGC'9M1*EUFW;EE$".977? T,3Y9<Y%2A*5:V7 N@L0'E
MF>TY3LO.:<JLL&/V9B+L\(W*4@8S0>0FSZEXZT'&=UW+M?8;C^DJ47K##CMK
MNH(YJ*?U3*!E5RQQF@.3*6=$P+)KW;GM?J#]C<-S"CMYL"8ZDA?.?VEC%'<M
M1PN"#"*E&2@^MM"'+--$*.-WR6E55VK@X7K/?F]BQUA>J(0^SWZDL4JZUHU%
M8EC23:8>^>X!RGB:FB_BF32_9%?Z.A:)-E+QO 2C@CQEQ9.^EGDX "!//< K
M =XIH/$.P"\!O@FT4&;"&E!%PX[@.R*T-[+IA<F-06,T*=-5G"N!IRGB5-B?
M3@;#R7PX(+B:3[^/!G<+-.8+?(R'D\6<3._Q:#Q['#Z@W^AY2$83M(?D*WF:
M#\BGJ\_DBJ2,+!*^D93%LF,KU*79[:C4T"LT>.]H\,F8,Y5(,F0QQ,=X&^.I
M@O+V0?6\LX1C*JZ)[WXAGN/Y-7KZ_P_WSLCQJQS[AL^_=([K4EE<U:B_2G_S
M;;FF$70M_*@EB"U8X<</;LOY5I>'"Y$=9:519:5QCCV<8(M*6<1SJ NSP+8,
M5G>B;>CZS9O Z=C;PP!JW-Q&X+J5VY&T9B6M>;9@4Y6 ("@-PTYTQ]I"*;5=
MI[5YR9)<B.PH[E85=^ML2; Q8MMCV'>$ !:]$24HDQDM&F[\$]L1-G!5EX."
MN'E8B*#IGU3K7R??<V_J:Q54FH.SFOLU5:H3&-2\4$'+.Y58X^8&M][MB4C[
MH./F(%9F$$E\939,%7VJVJUFW9UI\2?[/9R!Q<CZ2U,,4.Q"JY1)DL$2*9WK
M /,FBJ%4&(JO35]_X0JGA%DF.,=!: <\7W*N]H:^H/IG$/X!4$L#!!0    (
M +6 I%9'JG9MR0<  * A   8    >&PO=V]R:W-H965T<R]S:&5E=#8N>&UL
MM5K=;MNX$GX5PKO8TP+K6B3UYYS$0'[1 FT2U.G9:UJB8VTET4O*<;)/?X:4
M(]D2Q238[$U,*</11\YPOIF1CK="_E0KSBOT6.2E.AFMJFI]-)FH9,4+ICZ)
M-2_A/TLA"U;!I;R?J+7D+#63BGQ"/"^<%"PK1[-C<^]6SH[%ILJSDM]*I#9%
MP>33&<_%]F2$1\\WOF?WJTK?F,R.U^R>SWGU8WTKX6K2:$FS@I<J$R62?'DR
M.L5'Y[ZG)QB)_V5\J_;&2"]E(<1/??$E/1EY&A'/>5)I%0Q^'O@YSW.M"7#\
MM5,Z:IZI)^Z/G[5?F<7#8A9,\7.1_Y&EU>ID%(]0RI=LDU??Q?8SWRTHT/H2
MD2OS%VUWLMX()1M5B6(W&1 465G_LL?=1NQ- #WV"60W@70G^ ,3Z&X"-0NM
MD9EE7;"*S8ZEV"*II4&;'IB],;-A-5FIS3BO)/PW@WG5[/SF^N+R>GYY@6 T
MO_GZY>+T#B[F=_#S[?+Z;HYNKM#YZ?PSNOIZ\\<<C=&/^07Z\.M']"O*2G2W
M$AO%RE0=3RI HW5.DMV3S^HGDX$G4_1-E-5*H<LRY>GA_ FLHED*>5[*&7$J
M_,;D)T3Q[XAXA%KPG+]^.G' H<W.4J./#NTL4RMT!<=$H5LI'C)8)%H\H0\_
M% RR\B.Z67/)JJR\1Z?:E[,JX^K(MH_U<WS[<_0Y/U)KEO"3$1QDQ>4#'\U^
M^P6'WG]MF_!.R@ZVQ&^VQ'=IGUU#6,K*1!3<MLQZ;FCFZNCS,,,TB"/O>/*P
MOP"+&/8CC!NQ VA! RUP6NLT_1,.&\2G2J%*0(!*1)ED.4=E@UG?UU>)-NQZ
MSZ2B,21S&S)X3T.^D[*#W0J;W0J=AKS@H#3)6!V)RQ2Q0L@J^]O<L*V\5A?L
M&8T2['5-:Y'R_.G4;MFHP1HYL<Y73/*Q#O4I C,"_ZE!F%$? /A@!Z5%*"*1
M'63<@(R=(+\*I1#LI6+@<F*IW0N<JGHRF\O_VF1K[9HVR'$/#8Z[B/LRQ!L
M/&T 3YV 3_<,K@&G? 'G1*D-*Q,.^ZPJ*R5,>T@BTO4"BXP7VM%BKZ4YSXG7
MA&"3>T#J \2?UHCYH_8':SC:*3S864KC#EB+% DP&8"[Q\KX97]82E% ['D
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
M-V"_WQ%"7U[XS:KM;<#YOU!+ P04    " "U@*16(2\2N5\#  !Y"0  &
M 'AL+W=O<FMS:&5E=',O<VAE970X+GAM;*V6;7/:.!#'O\J.K]-K9]K8V!A(
M#IA)"&V9:4@:TNO<2\5>L":RY4HR)-^^*]NX!%QR=],WMB3O_KV_U>IAN)'J
M02>(!AY3D>F1DQB3G[FNCA),F3Z1.6;T92E5R@QUU<K5N4(6ETZI<'W/Z[DI
MXYDS'I9C-VH\E(41/,,;!;I(4Z:>+E#(S<CI.-N!6[Y*C!UPQ\.<K7"!YFM^
MHZCG-BHQ3S'37&:@<#ERSCMGDX&U+PW^YKC1.VVP)/=2/MC.+!XYG@T(!4;&
M*C!ZK7&"0E@A"N-[K>DTO[2.N^VM^H>2G5CNF<:)%-]X;)*1,W @QB4KA+F5
MFT]8\X16+Y)"ET_8U+:> U&AC4QK9XH@Y5GU9H]U'G8<2*?=P:\=_'V'[B\<
M@MHA*$&KR$JL2V;8>*CD!I2U)C7;*'-3>A,-S^PL+HRBKYS\S'AR/;^<SA?3
M2Z#6XOKS[/+\CCJ+.WI=3>=W"[C^ )-/Y_./TP7,YC#]\G5V]P^\N6$*,Y.@
MX1$3;^$]O (7=$*C>N@:"LS*NU$=Q$45A/^+( *XDB2F89K%&#_W=PFHH?*W
M5!?^4<$KIDX@Z+P#W_.#EG@F_][=/Q).T"0Y*/6"WYKDMCQ6_^FV_\>N^#.=
MLPA'#BUIC6J-SOCU'YV>]U=;$GZ3V+.4=)N4=(^ICR<R36D54WU'#^\@9PK6
M3!0(;W@&L12"*0TYJJJDWK:EHM+OE_IVKUJ/O1.O,W37NXA'@_B?B&&#&!Y%
MG&E=L"Q"D$O:[[11/#(85T3 -DS%&@HJ> 5"9JOW!E4*^+W@Y@DXN65V?X-<
ML*Q,2K6V6C-1A1'N9.(T]#K^7BH.K4+_M.LU5L\8>PUC[RCC+>:%BA+:1RUE
M%>-+X1Y5_*\UW#N@\H-!)^RV8_4;K/Y1K'F1WM.\_$3:<),D*&(PDHKU"0Q[
MI%$J8$QS(9\0]9_;N:MG]H4D] _B#OSPM+LW9X=68>#U@W:X00,W. JWJ) X
ME2>58Y%;BD=4$:\GT2Y)D+D]95_$&!RF?S#8*:H*X]"JX_N]TST,=^<42U&M
MRL-=0R2+S%1;?S/:W!_.RV-S;_R"[A75->"G3'4IH8U]Q8E*X)(DO9,^Q:2J
M@[[J&)F79^6]-'3RELV$[D:HK %]7TIIMAW[@^:V-?X!4$L#!!0    ( +6
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
MEB4]E]"R )UOC?']A@T,#[#Y/U!+ P04    " "U@*16OJA4.H@&  !=%0
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
M4WQ@@[(,N+^26.C5PAIHGNS3OP%02P,$%     @ M8"D5E]G,#J]#@  Z#$
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
M2OGK0@J@)TW \UD)R',_:(/VCSM>_!-02P,$%     @ M8"D5DGR240! P
M+P<  !D   !X;"]W;W)K<VAE971S+W-H965T,30N>&ULK55M;]HP$/XKI^SE
M$R,A"11U@ 0=;)-&5<':?3;)0:PE=F8[I?WW.SLAS:H6:=J^)/;YGN>>N^3.
MDZ-4/W6&:."AR(6>>IDQY:7OZR3#@NF^+%'0R5ZJ@AG:JH.O2X4L=: B]\,@
M&/D%X\*;39SM1LTFLC(Y%WBC0%=%P=3C G-YG'H#[V38\$-FK,&?34IVP"V:
MV_)&T<YO65)>H-!<"E"XGWKSP>4BMO[.X8[C47?68#/92?G3;KZF4R^P@C#'
MQ%@&1J][O,(\MT0DXU?#Z;4A+;"[/K&O7.Z4RXYIO)+Y#YZ:;.J-/4AQSZK<
M;.3Q"S;Y#"U?(G/MGG"L?</8@Z321A8-F!047-1O]M#4H0,8!Z\ P@80.MUU
M(*?R$S-L-E'R",IZ$YM=N%0=FL1Q83_*UB@ZY80SLQ7C"NY87B&LD>E*(57<
MZ(EOB-RZ^$E#M*B)PE>((EA+83(-2Y%B^B?>)U&MLO"D;!&>)5PSU8=HT(,P
M"*,S?%&;:>3XHG_/M":*7R:R;7*I2Y;@U*,^T*CNT9N]?S,8!1_/R(Q;F?$Y
M]K^1>9YH!*OYUPW<S;_=+F&]G&]O-\OU\OK[%CHAJ"\VF%1*<7& !=-<P_<,
M(6%*/5K3O?72(/=DTADPD=8+_%5Q.K/*>M2;"=)NER-M!)J>\V-)(BLZAY(]
MVC-@BH@EM7.*"E,P$G9(6%=#89CM3AO(9$CRR%BBZUC86[F-D)0T$Y!\0&=2
MF0\&50&"&:I3 ]8(7&BC*E>W/KQ_,PZ#Z..SK*^E^/ \\U4;"(I.Z>%(>H&5
M9<YKV;)2D$MQJ(.GN#-0DI:]S+E\BO>_WG-7?NJ&)&O;X57G3I+/CSXKJ35<
MG;YL[13U1^'P'6Q1<*FH*(9J? *\A2@>]X;CH&.)@Z 7! '$_<$97!Q>](9!
M%S=L<(WEI3[Q.T.L0'5PHUJ#^XGJ>=9:V]M@7@_!)_?Z*J%B'>@?@!SW! WZ
M%T,/5#V>ZXV1I1N).VEHP+IE1C<:*NM YWM)&34;&Z"](V>_ 5!+ P04
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
M-,VR(^I+TX98XBF&>T+7U >H@]\V/'3,0*LY]3T73P029"S!*F#40@5-$X/
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
M&/\$@.<S*76S( ;M?S=._P-02P,$%     @ M8"D5L3V7_>6!0  )PT  !D
M  !X;"]W;W)K<VAE971S+W-H965T,3DN>&ULK5=;4]LX%/XK9U*F3Z[C.*&D
M%)A)V%[8&0K3M-UGQ3ZQM<B2*\F$[*_?<^0+H5"Z.[L/8$N6OG/[SB?E9&OL
MC2L1/=Q52KO34>E]?3P>NZS$2KC8U*CIR\;82G@:VF+L:HLB#YLJ-4Z3Y/6X
M$E*/SD["W+4].S&-5U+CM0775)6PNR4JLST=34;]Q&=9E)XGQF<GM2APA?YK
M?6UI-!Y0<EFA=M)HL+@Y'2TFQ\L9KP\+ODG<NKUWX$C6QMSPX"(_'27L$"K,
M/",(>MSB.2K%0.3&]PYS-)CDC?OO/?K[$#O%LA8.SXWZ0^:^/!W-1Y#C1C3*
M?S;;C]C%<\AXF5$N_(=MNS9-1Y USINJVTP>5%*W3W'7Y6%OPSSYR8:TVY &
MOUM#P<O?A!=G)]9LP?)J0N.7$&K83<Y)S459>4M?)>WS9\O&T8QS<&ZJM=2"
M4^5.QIZ@><$XZV"6+4SZ$Y@I7!KM2P?O=([YP_UC<FGP*^W]6J;/ EX*&\-T
M$D&:I--G\*9#G-. -_VO<;8PLZ=AN$6.72TR/!U1#SBTMS@Z>_EB\CIY^XR3
ML\')V7/H_]S)YV$FDQB67U<7G]ZM5G!^=;F\^+3X<G'U:04O7\S39/H6%MGW
M1EJI"UAW)M&!="#@!G=0"^O!;, T%HPN#*]SW@J/Q0Z\@8+#XH^9J6JA=R!T
M#GA7\X.GJ;MO2$Y<*2S&\$YD)34?&70R-&(I'*P1N2,STVB/.9"X@&#SO3L,
MW6< &N*4A<7J'.;)812"2).W3R8K#A\G782=08M*L)7,..^"+5\B_5E$J%K:
M(M,6B'3D:\^Z$!:]I!%LT2(<3.(C:D&E@IK0MX,D?M-/1&3%U1@T1NWB9^Q3
M4D#J3#5L46H@A:("%A$4J-$*%05LD5.SRY!U0N3LDA#RQB[QY"^-&5,[HV0>
M##A/#U),LL+EJ]%V61D*?Z7A=Z$;DE](7[=A<G1M?2Q!<&8$T:&%X!'%)<F8
MET*1>=>HMBA#I6C9ZO-%#%]*(A M\$)U2_:+CKH4.L.6(*%U:,3A?$ Z4:2(
MX%)FI2P$9?*JE":"]\I8BBN"A1)K48F0EA6=*R6<"TLQ:\%&$>J&JD;"3+"2
M,,F?@]EA/!]*M25F;9I0X/4.,N%*""SD+-/?ED/,3*'E7[2B,";?TL8 DQ[&
M,_:1DJR[4V0KR;[G4/>BN\_OPO%'F[_B'MH!44T2P:VFW-T*U;3E"!38D/^*
M34:0H?5T?((7=Y1[)M&0?"(KM@U(3-!.9/< W'P*/0-P&.U907U2$\M>9<HX
MWF7QEL^Q;D/'.MJ0_TG+6Z948D?M2(\<N;F#52%M\#=DLZ-#3Y'6'!.7S'$Z
M23J\H:K_4(B(.\PT11D@D;5A \AB4*%PC0U$!>*H-/E ?D4YTP@[%)9B5W1E
M"+$S*>M:R4RL%3[@%1/_/OU,!Q_6K/FZ08Z86R(O*TMWZV"9(3]^Z/1>$_;4
M<.@(CK86LA6I4/Y H;RQO6N_4A(2$*YN:1I'8.YX</?_?K*M?>5QPQ>Z&R"U
M#?E]S:'TTQ]ZMB_Z:)<RJ)%[C#V>C@-^/W$ 1U&2'.Z-I]%T,J5VI>:AM-C'
M&-\$%;MY/#^)#I/DT>S1/($O@5B_BOL YH2P[\HL2MY,'X=)_%X_:/<GFEOL
MYX_[W'LKUTU+JZY!W([86DBB"0MSQMK;0[=-W?9(Q?SK!#DPX"'#-J0,+;?W
M3,9P;24Q55(KB%:'>$FK10].GUD\&29HU:!<')YE$FZLJ1Z&,VA&[\Z_.03W
M#[B(,_-#[+2YH<^<IDT0OHP%@D6-A(%4"5W\U!UIO'=Y)?TJPA6=7:6K07N/
M'6:'7P&+]O)[O[S]"4&N%W0"@<(-;4WBH\,1V/9:W@Z\J<-5>&T\B65X+>F7
M#%I>0-\WQOA^P :&WT9G?P-02P,$%     @ M8"D5NF54(1/ P  8@@  !D
M  !X;"]W;W)K<VAE971S+W-H965T,C N>&ULK5;;CMLV$/T50BGRI%I7WW9M
M [9WBQK8M M[TSY3TM@B0I$J2:UW_SXC2E:<2C%2H"^F.)PY/&?(X7AQENJ+
MS@$,>2NXT$LG-Z:\\SR=YE!0/9(E"%PY2E50@U-U\G2I@&8VJ.!>Z/L3KZ!,
M.*N%M3VKU4)6AC,!SXKHJBBH>M\ E^>E$S@7PYZ=<E,;O-6BI"<X@/E</BN<
M>1U*Q@H0FDE!%!R7SCJXV\2UOW7XB\%97WV36DDBY9=ZLLN6CE\3 @ZIJ1$H
M#J^P!<YK(*3Q3XOI=%O6@=??%_3?K';4DE -6\G_9IG)E\[,(1D<:<7-7IY_
MAU;/N,9+)=?VEYP;WQ!W3"MM9-$&X[Q@HAGI6YN'JX"9_X. L T(+>]F(\OR
M@1JZ6BAY)JKV1K3ZPTJUT4B.B?I0#D;A*L,XLUJGJ:H@(T^,)HPSPT O/(/
M];*7MB";!B3\ 4A$/DEA<DT>10;9]_$>$NI8A1=6F_ FX">J1B0*7!+Z870#
M+^I41A8O^GF5HR&9#4H\C%+7QYTN:0I+!PM @WH%9_7Q0S#Q[V]PC#N.\2WT
MGSV)FR##%(-P1-;;[?[SXP-YVJTWNZ?=R^[Q0#Y^F(5^=$]><B!'R;$^F3@1
M0Q,.1(/1:%0F)P:74UF44H! HSQB*354^3>J+F$"/66EJ<CT78?]?XUKN_%E
MAO<CS;L+0AX@A2(!=;&$9-UG^-\Y'2BGRFH[X_N$ THCB125QK(K"J;KETEW
M[K^0<>A.X_#*,!V[<S\@.X'^@)E] TU*^FXS_._=8A^#_9XY=(,H1@1=*2I2
MN%;4]YVYP7P^9)Y-?;*UKPEF24%"S4!X$+C!9" \<,>3 )-\!*4PIPI>051]
M 2$*B&9#X7/4A<G$+>L,E@I;BC+O;3YZ+,;N;-S/ YJGXRDFP@!>;-.E$5]V
M+L7I5S07^!PGIA<985*B/AXF-IZ0/_%VJT$IP61(BH^9>)&&\J$BN#IYW-*-
MXNEWEKD;3?O"#@#D#VF -!R#X)[LVPSO(94GP6S[&GIAO*MW'P_V9+N;QF*M
MA&E:0&?M&NBZZ1O?W)ONBQ5U8GB9.1PQU!]-QPY134=K)D:6MHLDTN MLI\Y
M_@D 53O@^E&BAG92;]#]K5A]!5!+ P04    " "U@*169^]/5?<#  "!"0
M&0   'AL+W=O<FMS:&5E=',O<VAE970R,2YX;6RM5E%OXS8,_BN$;[@G(T[L
MI$G;)$";9KL"2UJTV>Y9L>E8.%GR27+3[M>/DATWO?8";+B'-B)%?OQ(492G
M>Z6_F0+1PG,II)D%A;751129M,"2F9ZJ4-).KG3)+(EZ%YE*(\N\4RFBN-\_
MBTK&93"?>MV]GD]5;067>*_!U&7)],LU"K6?!8/@H'C@N\(Z132?5FR'CVC_
MJNXU25&'DO$2I>%*@L9\%EP-+JZ'SMX;_,UQ;X[6X#+9*O7-";?9+.@[0B@P
MM0Z!T<\3+E (!T0TOK>801?2.1ZO#^B_^]PIERTSN%#B*\]L,0LF 628LUK8
M![7_@FT^(X>7*F'\?]@WMLE9 &EMK"I;9V)0<MG\LN>V#D<.D_Y/'.+6(?:\
MFT">Y0VS;#[5:@_:61.:6_A4O3>1X](=RJ/5M,O)S\[O;($:%JHLN:5:6P-,
M9B1+R^4.9<K13"-+@9QYE+:@UPUH_!/0!%8$4!A8R@RSM_X1$>Q8Q@>6U_%)
MP!73/4@&(<3].#F!EW19)QXO^;59-Z##CT'=];DP%4MQ%M#],*B?,)A__C0X
MZU^>H#SL* ]/H?]?RJ=!!TD/[C9?E@^PN%NM;C>KY7KS"%?K&Y+7F]OU'\OU
MXG;Y")\_3>)^<@E_<LMWS%^G@ZKAM6+6HC:=]BL"$T:!&PN6_H!3)Y22YSQM
MW-E.(S9Y[+DM0-4:,J[IKBK=I*9R,G:8MF"6@%YH!GROR01JTJD.\84,L"1
M"F,L",ZV7!!/;#V9Y@9AZ]R9H<@J=PZ<!I-EEJ 4K>BL*!8P<\2!] <*(>!S
MBI5U!I56!=]RBYG#9%4E**6M0!!LWSO.7Z4I<Z.+"?%"E!$JU'Z(2HJT53+S
M6=!XJRFE5)650%\9XN>*X889D$CQ?0$%TSLJ=#,2W().7M-,:[-,F01J/@DE
MC2-.6#3O4E7[[G"1N<I,#^[?4:#60>TI9@JDLE"P)_2EH03QN>*Z.:^,%.82
M2*+C#F%/^$1;TW2ED9A!KE7IRMJB,N.% \>:B3?9<W-(&+->URL^<N-/KP=1
MD)DC3UYTJ"D5"GU?<%<Q!_-:[0W%RI6@!\8Y6'\<S2O#_T'CRWF,>$0E;*%)
M';XB-_WG&]OS<5N4D*H-;9B++NZO^KTR[M1_U-+02XMNZG7J&TRQW!*U=B>&
MNZ/</-__SO!]8QQV?H/!<!P.SR;'FE$<#I,AC8/WM0M_+-Z[6/$H',7CC]3#
MY!PVRE*WO.,PCL/S\]$;S3B<C+NR?#1AHZ-GD:[,SC_^KO7H6C0O9*?MOB^N
MFF?UU;SY.*&SV%&*(# GUWYO/ I -P]^(UA5^4=VJRS=3[\LZ!L)M3.@_5PI
M>Q!<@.ZK:_XO4$L#!!0    ( +6 I%;R^0 2/P0   L*   9    >&PO=V]R
M:W-H965T<R]S:&5E=#(R+GAM;*U6;6_;-A#^*P<5*#8@LQP[Z8+$-F!GR]9A
M18VDW3Y3Y-DB(I$J2<7Q?OWN2$EQ!L<8L'VQ2?'NN>=>R=G.ND=?(@9XKBOC
MYUD90G.=YUZ66 L_L@T:.ME85XM 6[?-?>-0J*A45_ED//Z0UT*;;#&+W]9N
M,;-MJ+3!M0/?UK5P^Q56=C?/SK/^P[W>EH$_Y(M9([;X@.%KLW:TRP<4I6LT
M7EL##C?S;'E^O;ID^2CPA\:=/U@#>U)8^\B;CVJ>C9D05B@#(PCZ>\);K"H&
M(AK?.LQL,,F*A^L>_2[Z3KX4PN.MK?[4*I3S["H#A1O15N'>[G[%SI](4-K*
MQU_8)=F+:0:R]<'6G3(QJ+5)_^*YB\.!PM7X#85)IS")O).AR/(G$<1BYNP.
M'$L3&B^BJU&;R&G#27D(CDXUZ87%4DK;FJ#-%M:VTE*CA^_ZU?>S/) -ELQE
MA[=*>),W\*;PR9I0>OC9*%2O]7/B-A"<] 17DY. GX0;P?3\#";CR?0$WG1P
M>!KQIO_>X6->)I"+XR#<*=>^$1+G&;6"1_>$V>+]N_,/XYL3%"\&BA>GT!=W
MV@@CM:C@(8B U (!UFS&T)9*^1C?_X8X@L^M VDI9\:CXI6GX"B25; 9E'VO
M[*$43P@%HJ$6>*+6;DA0&U;D0:'#GNHXE/#+<KD^@UVI94DM_*W59)3*UU"_
M1Q+!TNX1 7W0U&)T*(P"X6E&-$S,C^!+23S?%@"QV5"'0RB1+#36,651<XX]
MV V+8DA:E1:%KG30'8K27E;6M\R))(D[EP73>B69L#D6+,7K8Q$Y(TNPH^G"
M_V^1<10KTW;F\;GA:'M0K>-R?%'B78-.6T7^+V5HR1*1I$'CB65;,77RV@%'
MQ!&/:@\;9VN&.(P5*1,?;4A(VKH19@_!">.%3*$K,.PXA5]LLVHUP9(CR>F7
M]&*E:>QP(8Q.E/;E4-J7)POQ'B79(+I+91L.SF$[.FMH+5,\CQ7Y_X4-[]]=
M3<;3&_AHX+,,MJ!0TGBA(<,YN%L^K$!3A3'$P]=X\L/XZBQJ3<8W![!4ZW!+
M9>,HHK!\J;3AV^\'A10SU)_XU!^W<<*C\Q'[_(;+77LN*Z.$HY:J&V>?,%64
M>&U8R-A/JJ^J6, 'V++'YL844+2> N:Y@NJ",\J78K$'H135EF=411>D\]R\
MI-$PE)88'=*&1X+V 8W<D\$J3@;J7H?2;HV.8-QMYH563V?HIOVK'FG$/HT
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
MEG@O V45\/U:2K-;V WZF][R#U!+ P04    " "U@*16V(U%EC,&  ")%@
M&0   'AL+W=O<FMS:&5E=',O<VAE970R-2YX;6SM6%MOVS84_BN$FQ4)H-JZ
MVTD3 TG68@6:HDC2[9F6:)NK)*HD92?[]3N'DF79DA6W1?>T%UL\Y+GP7#X>
M\G(MY%>U9$R3IS3)U-5@J75^,1JI:,E2JH8B9QG,S(5,J8:A7(Q4+AF-#5.:
MC%S;#D<IY=E@>FEHG^7T4A0ZX1G[+(DJTI3*YQN6B/75P!EL"/=\L=1(&$TO
M<[I@#TQ_R3]+&(UJ*3%/6::XR(AD\ZO!M7-Q,\'U9L&?G*U5XYO@3F9"?,7!
MA_AJ8*-!+&&11@D4_E;LEB4)"@(SOE4R![5*9&Q^;Z2_-WN'O<RH8K<B^8O'
M>GDUF Q(S.:T2/2]6/_!JOT$*"\2B3*_9%VN#<(!B0JE15HQ@P4IS\I_^E3Y
MH<$PL0\PN!6#:^PN%1DK?Z>:3B^E6!.)JT$:?IBM&FXPCF<8E <M898#GYY^
M%-GBS2.3*?F=S30Y?:2SA*FSRY$&X;AD%%6";DI![@%!'KD3F5XJ\BZ+6;S+
M/P*C:LO<C64W;J_ .RJ'Q',LXMJNUR//JW?J&7G>43OMVF#)[W?S8W5<J)Q&
M[&H Z:^87+'!]/4K)[3?]ECGU];Y?=*G]RP26<033DVRBCG))0="3A/(NH1F
M$4,BE)72-(MYMH#<Z]Y&OZ+')2-SD4 QH@R-X8;B*I4S131,MS2K4K5LJ2=:
M&#JPQU"H+,8O)1(>4PV#C>$F/95%> ;R1:% @KH@KU]-7-M[^]/_U\:\?2JD
M3[2L\P=B'K%TQN2&XA)O&+K!;^2!95Q(\DEHV&9<,)P\KZ6<$-^V+=NV.RC^
MT#D@P'-;Y@1[8O;I)C$30;/VBF!BC8,.SC"T7*"_^U;P'&!2D\R8L+\NM)Q)
MT*).+-\=DR\93874_!\(EHDG5ZHP(8N$TFU9ITYHA9YWUC$QMKS /2./0D/>
MH"R+9'"F0&2*[U3B6+X_L3R[[428"4"/&Y"/3$$&1864N/$<Q9=5DV"5:W2F
M4;4OP7<M;^RTR1"$<%(9?T#$":JW ^O<<W9IL'4W&/=@0%!C0-!;F@]PXL9%
M8@I=,CQ1L<ZVU9C39XRS2?=#Q=^O86-W%P@H*%$@2KTT)=UK "SKQH,:,*BQ
M<K<(?Q4 _/]_W+\!PL; ;PZ"YB!L#L;U -(&&K\YU,:69$JF"TNW-?+F)[Z_
M#W[W=_SFEU%^',_=$K9;$!1TRO.[P=_WNNE'F5X=*"\='+YEC\.V^99CG_\R
MMY:'59E4VY![-H!^V"#XXQTK3O;==-)RT&Y6G;>R"G \] ';@QX<#VL<#_MQ
MO+S@( !^9<\$CQ*#AMA;W4H6<TVN%Y(Q]'T7AO=+[\+NZK95MF\OZB2G,?!3
MJ7;P^.QX0*YJ3C$X@.%0UW6NSRFVL/K9Q&S7Q=<QV "'M.D.$OJ,S8"DZP9S
MF^>E_X;,K1C8RTC@^;42R0J0*J+0M*--=$5Y8MQ50+<J8?.1-/X ]MKP4WKV
M X;<&V48CX8']B'BH9@E/(5 X.E9]T#8LS -YIMP166H2@-E6^KI#,US^B0K
MS O,!N,.]9(LKQMW#OU_R,!4IC21T.%WGO);G!F>.P0 NNIJ8KBVZD*B9KP=
MU,L<>S0>[9PY&(-&:&="RC+9ZU!RU8HF)GI71"VBBMG?+#)WE8A)33'I37E
MIIB;BU&DR"FP)X7I9=@35QH_P)\96T.$4(>"5DBLN%D1B10<7G9#')\G5(XZ
MP!NJ &?0/O//AL;W7Q3;5*BJ EAV5F8KO?F!EN_'&6:*J(* RCEEG+?^V:;I
M^\H[PXW3>V!O7,/>^.CV]6@#NO"O7TUG[VH0%VX8RK2E1VO_;ZZD+UY%.^!C
M>S+MP\B64EZ"3 ,^>^[(DGVK3L.Q%4[..VYOFXGKMN,Z@*-YRL)]RG$.4WK2
M:E*GU>3HM-H<;W.>07%PJ*Y(K!A\:]652/V"?RRH>\&\HT\\+5+R">ZZ'QF<
M-W0!B8:/.#6?-PSL"V<( ;N#"Q4NKD'T5AS@L"N.6Y'F"3= 4&)MSB07,0$\
M:D!R8UF7PT>-Y\&4R85Y!%7@NB+3Y4MA3:W?6:_+Y\7M\O*1%G:_X  V"9L#
MJST<PWU3E@^?Y4"+W#PVSH36(C6?2T8AD7 !S,\%])K5 !74K\_3?P%02P,$
M%     @ M8"D5KK#&I9? @  Q@4  !D   !X;"]W;W)K<VAE971S+W-H965T
M,C8N>&ULK51A;],P$/TKIPPFD*K&3=*MVMI(ZV# AZ%JA?'932Z--<<.MM-N
M_Q[;24- 724DOB2^\WO/[VS=S?=2/>D2T<!SQ85>!*4Q]548ZJS$BNJQK%'8
MG4*JBAH;JFVH:X4T]Z2*AQ$A%V%%F0C2N<^M5#J7C>%,X$J!;JJ*JI<E<KE?
M!)/@D'A@V]*X1)C.:[K%-9KO]4K9*.Q5<E:AT$P*4%@L@IO)U3)Q> ]X9+C7
M@S6X2C92/KG@2[X(B#.$'#/C%*C][? 6.7="UL;/3C/HCW3$X?J@?N=KM[5L
MJ,9;R7^PW)2+8!9 C@5MN'F0^\_8U3-U>IGDVG]AWV)C"\X:;635D:V#BHGV
M3Y^[>Q@09N050M01(N^[/<B[_$ -3>=*[D$YM%5S"U^J9UMS3+A'61ME=YGE
MF?2.,@6/E#<(]TAUH]#>N-'P[AO=<-3OYZ&QISALF'6*RU8Q>D4QAGLI3*GA
MH\@Q_Y,?6G>]Q>A@<1F=%+RG:@SQ9 01B>(3>G%?<NSUXG\K^5BEK5!R7,CU
MRY6N:8:+P#:$1K7#(#T_FUR0ZQ,VD]YF<DH]7=O^RQN.( LHG.6=MVPCSNB&
M<688'C5]6O;\;!:1^!K^U_]&.TOVC;*R?Z17P8.K_WOKDY):PRU5ZH6);0>*
MQQ?1]"VL43"IX*LTJ'O"&XB3V6@Z(X-,0LB($ +)>'*"ET27HRD9\J8M[]BK
MA8/>JE!M_031D,E&F+;-^FP_I&[:WOP-;R><O:0M$QHX%I9*QI?3 %0[-=K
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
M,>Y?ZUQ40*Y!DD5))9"/MW3)07V:>!J7,!.]O(.;MW#A"W 1^29J72KR2UU
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
MPD%9!WR_E-)L-S9!]Z=@_@M02P,$%     @ M8"D5OV:&U"J @  M 8  !D
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
M262%5N;]U4L_RJM#\ROJ%_]0P/BC04HVO[<0>C7I@=!.21_*(K^WZGA1V=9
M_*ANZQ+K*-S<HR:E +FUO9LBB:E/ZGZE76W[PZ7MBMR#>-U<8LV_95R1'#:H
MZEU,T )9]VOU1(O2MCQKH;&!LL,,>UR01@"_;X30CQ.S0=LUQ_\#4$L#!!0
M   ( +6 I%:V7_L/^P0  (0=   9    >&PO=V]R:W-H965T<R]S:&5E=#,V
M+GAM;+59;7.C-A#^*QIZT[F;N0L@;&Q2VS.)Z:7I-&WF<M=^ED&VU0-$)1$G
M,_WQ%2\&@[%</,H7&[#V6>VCU>Z#-=M1]IUO,1;@)8X2/C>V0J37ILF#+8X1
MOZ(I3N0O:\IB).0MVY@\91B%A5$<F="R7#-&)#$6L^+9(UO,:"8BDN!'!G@6
MQXB]WN*([N:&;>P??"&;K<@?F(M9BC;X"8MOZ2.3=V:-$I(8)YS0!#"\GALW
M]K4/1[E!,>)/@G?\X!KDH:PH_9[?W(=SP\IGA",<B!P"R:]GO,11E"/)>?Q3
M@1JUS]SP\'J/_KD(7@:S0APO:?07"<5V;DP-$.(URB+QA>Y^P55 XQPOH!$O
M/L&N'.M.#!!D7-"X,I8SB$E2?J.7BH@# WC* %8&L&L 3Q@XE8'S?PU&E4%!
MM5F&4O#@(X$6,T9W@.6C)5I^49!96,OP29*O^Y-@\E<B[<3BCM)P1Z((H"0$
M?X@M9N ^$2C9D%6$.?@$Z@'O?2P0B?@'\ Z0!'S=THQ+(SXSA9Q'CF8&E<_;
MTB<\X=,!#S016PY^3D(<MNU-.?\Z"+@/XA8J 1\0NP*._1% "SK@VY,/WK_[
M (C <<_DEFHL'P<U%MQC]<#X:IA?47(%H-N>DB)4IUXOI\!U3N NMW)MY,+(
M%9"+!0+$V"M)-@#%-$L$H&NPJ1:L;UU*[%$_=EYBKGF* CPW9 WAF#UC8_'C
M#[9K_=3'HTXP7Q-8B]-1S>E(A;[X/8M7,N\E=PRGE(F<SRPA@H-_3R71;8DX
M+A#SVOJ\@#/S^9 >I<^A]&@":]$SKND9*^FYCU-$F*SU9]-+B3,TO4HP]X!A
MJ\VPK\E=BQ2W)L55DG+'*.=U<?P(D  KO"%)DB>/I"G%C-"PCR3W*"XX@9YE
MCSOYH_0_-'\T@;6HFM143914W80AR7M\;Z>8'.^CL3,==;A0.AC*A2:P%A?3
MFHNIDHO/+^ K0PF/4*%Z;L*_98O/MU8?-],C;FRW0XS2VU!B-(&UB/%J8KRA
M^PE+1:+<2=YQ[DS&H]'13NH;U[/C?.4,+XS?MAHA9JFW21!D<283 X?@H.3^
M)GG!_2++.HKKT\25>L/NQ*]V/#1+=*&U:3K0J[:Z6<MWH3M%#ZK,6[O&\Z#C
M=6M*[T#7];H#_6I@JV*/1U;3C=J1P"82J.ZK"1<H*BM!;R1*\Z'M5"N:KPNM
M35TC@NVW5,&V5AFL%<W7A=8FME'"MEH*7RYK[&-%;$^AZTV\[K[3*HQUH;7Y
M:J2QK=;&2FU3V9X3-VH7@PEY"U5L-[+8'JR+S_;Q"K*=.F/HN$Z7J;Z!/3GF
MJR=Y*0F-X+7/*-[!K?Q8!I]HY5J5L"ZT-DV-%K;58OAL*^\1P)9G.:/NJ[;:
MSV!6WD('VXT0MM5*^"G% 4&1> 4^X8*15792(&@2K!6).M%\76CM_P,;,0VM
M-Q0(4*=@7FI%\W6AM8EMY#=4R^_+!0(\UMN>!2VG^TJKGL!@NC2AM>EJ-#Y4
M:_Q![_L5EO*%7^UO,#MO(>-A(^.A4LU>)!8JR&X:C;L]H1KGGDDW7SW%2REH
M!#<\\]_SF1Y8F7?#. Y7JZK6A5:28AX<3\68;8IC/@Z"O!27ASSUT_HH\:8X
M0.L\O[6OE^6!8 -3GD\^(":+$ <17DM(ZVHB\X.51W[EC:!I<0BVHD+0N+C<
M8A1BE@^0OZ\I%?N;W$%]\+KX#U!+ P04    " "U@*16@*DE"_T"  #+"0
M&0   'AL+W=O<FMS:&5E=',O<VAE970S-RYX;6RM5EUOVC 4_2M65DVMM#:?
M), @$I"MZT.WJEVW9Y-<B%4G9K8#W7[]["1D0$-4IKY [-QS[CWG@GU'&\:?
M1 H@T7-&<S$V4BE70],4<0H9%E=L!;EZLV \PU(M^=(4*PXX*4$9-1W+\LT,
MD]P(1^7>'0]'K)"4Y'#'D2BR#//?4Z!L,S9L8[MQ3Y:IU!MF.%KA)3R ?%S=
M<;4R&Y:$9) +PG+$83$V)O8P"G1\&?"#P$;L/".M9,[8DU[<)&/#T@4!A5AJ
M!JR^UC #2C61*N-7S6DT*35P]WG+_KG4KK3,L8 9HS])(M.QT3=0 @M<4'G/
M-E^@UM/3?#&CHOQ$FSK6,E!<",FR&JPJR$A>?>/GVH<=@.)I!S@UP#D$>$<
M;@UP7POP:H!7.E-)*7V(L,3AB+,-XCI:L>F'TLP2K>237+?]07+UEBB<#*\9
M2S:$4H3S!'V3*7!TDTN<+\F<@D"7]1YI]A 6 J1 YQ%(3*BX4#&/#Q$Z/[M
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
M%Z_N$%</DLW+:[A/3$J6EQ]GE, HI5Z WR>,R9<'E4%SDWO\/U!+ P04
M" "U@*16()QQC"P#  !<#   &0   'AL+W=O<FMS:&5E=',O<VAE970T,2YX
M;6RM5VMOVC 4_2M65DVM-,@+PF,0J855F]1*51_;9Y-<B+78SFP#[;^?G824
MT#1=5_@ MG//\3GV=7R9;+GX+1, A1YIRN342I3*QK8MHP0HEEV> =-/EEQ0
MK'17K&R9"<!Q#J*I[3E.8%-,F!5.\K$;$4[X6J6$P8U <DTI%D\7D/+MU'*M
MW< M627*#-CA),,KN /UD-T(W;,KEIA08))PA@0LI]:Y.YZYG@'D$3\);.5>
M&QDK"\Y_F\Z/>&HY1A&D$"E#@?7/!F:0IH9)Z_A3DEK5G :XW]ZQ7^;FM9D%
MEC#CZ2\2JV1J#2T4PQ*O4W7+M]^A--0W?!%/9?Z-MF6L8Z%H+16G)5@KH(05
MO_BQ7(@]@.9I!G@EP#L$]%X!^"7 SXT6RG);<ZQP.!%\BX2)UFRFD:]-CM9N
M"#/;>*>$?DHT3H57G*TZ]R HFL-"H0ZZA0U/-X2MT"6.2$K4$SJ=@\(DE6?-
MCSOHX6Z.3D_.T DB#-TG?"TQB^7$5EJ@F<:.2C$7A1CO%3$^NN9,)1)]8S'$
M=;RMC57NO)V["Z^5\!J++O+=+\AS/+]!SZP=/H>H@GLM<OQJL?V<S_^GQ6Y:
MGP+?:\:;(SV6&8Y@:NDS*T%LP H_?W(#YVN3N2.1U:SV*JN]-O;P99XTV2TX
M@IS#O' V8=\QGXF]V3?R9EA-8K^2V&^5> 52CI%4.E<73R@%I4!(Q)<H$A"3
MQNTI"/M[0CK!(!B.#O2^&5;3&U1Z@U:]YQM]"/&B.'1K?4*$?H_N5GG9LLK!
MB^7K^9[ON@>JWPRKJ1Y4J@>MJJ\)(W1-FW2U M^;[$<BJWD<5AZ''SS7PV-:
M/1)9S>JHLCIJW<X9IY0H?8\KM 1 IU@BC#(0D1XY:W)>T(WVLLKI.H[;/TB^
MUEG_TY/K/%^"3GN2XL?7DK0=^=ZM.Q9;W>?>9>]^,%%+@F/9/1);W:[W;-<[
M;K*6?,.#;/4&A^G:/O%[C=E[]1L%L<K+6HDBOF:J*.6JT:IT/L\+1OLYO*B[
M=<6S(DSJZVRIH4YWH&\A492R14?Q+*\&%USIVC)O)KK\!V$"]/,EYVK7,1-4
M?RC"OU!+ P04    " "U@*16HLPHE4T'  !L.0  &0   'AL+W=O<FMS:&5E
M=',O<VAE970T,BYX;6S-FVMOVS84AO\*X75#"Z2V1$FVTR4&FJ3#"BQ+T+3;
M9\:F;:&2Z%%TW #[\:,N$469.8DD"E@^Q#?Q)5_J'/$A19T=&/^>;BD5Z$<<
M)>GY:"O$[L-DDBZW-";IF.UH(G]9,QX3(3_RS23=<4I6>:$XFF#'F4YB$B:C
MQ5G^W2U?G+&]B,*$WG*4[N.8\,<+&K'#^<@=/7WQ)=QL1?;%9'&V(QMZ1\6W
MW2V7GR:5RBJ,:9*&+$&<KL]'']T/E\$\*Y ?\5=(#VGM/<JLW#/V/?OP>74^
M<K(6T8@N129!Y,L#O:11E"G)=OQ3BHZJ.K."]?=/ZK_EYJ69>Y+22Q;]':[$
M]GPT'Z$579-])+ZPP^^T-!1D>DL6I?E_="B/=49HN4\%B\O"L@5QF!2OY$?9
M$;4"4L=< )<%<+. _TP!KRS@Y4:+EN6VKH@@BS/.#HAG1TNU[$W>-WEIZ29,
MLM-X)[C\-93EQ.(/EFS>?Z4\1E?T7J#WZ(XF(>/H3R9HBDBR0I_^V8<[>>)$
M^=W;*RI(&*7OY,'?[J[0VS?OT!L4)NCKENU362(]FPC9LDQ_LBQ;<5&T C_3
M"@]=LT1L4_0I6=&57GXB'56V\).M"PP*7A,^1IY[@K"#/4-[+N'B5W19%<=
M<[RJE[U<SWM5+YOZIRCOF\MGN?PAW9$E/1_)9$TI?Z"CQ2\_N5/G5Y,Y2V*:
M5;^RZD/JBX\QV\M8D5>,5,A@").-R6ZA,<TULBO-P\+U_;GGR,Y^J#LQ'1?,
M/!Q4QVF-#*I&!F C\UC_G*2"[_/(_D)7--[EUY6;XN7K@:%_T2W/<D$P).-I
MN45ND$>$;W($5MCV!%H2T_IF6O7-M&>L3FU:M22F69U55F=@&-1.^XZ'2XJ(
MO.2A'>5+&11R$$-LG?V0+,,=B4P]4<C/Z^$Y=KQI+3P+DV S.IJ<5R;G+\=Z
M6,7Z"5HRF9:9:1+)@?BI!TZ0V,K*MRQ:-7J ;#:<;HB@JB\0*;.<AYM0ZD2/
M*$S3/5U)P8P=TI?ROVBRZ]1ZSAE/&[T&^NK8:Z=5KYV"O=88]4P>0(&V:6!)
M3//J.@H"G)XY7PI8<FM+3;=;8QX7/+FW1W&\ENCWC''W: CR94.<1JS"-79U
MA)4C_'*2"WD"C1;@L@%ZI(2;0OP2+MG5E:(F%R259A+* ?DZ3,)X;W9I%:%L
MJ>G.%42Y?M^$!#&LM5U+:KI=A6,NS&.?$QF[-!6(9\/,V_HP_,YHOI [U88/
M!\^;23D$1[D*I%P07DSA2WX\&[Y6J<J6FNY<<94[ZQN^EI"HM#L$8+F*L%P8
ML5J'[]P4OK[?#-\A ,A5!.3"".2-)<C^K"T(&,U8Y2!;:OJJ@0(AW!>$L%40
MLJ6FVU4@A&$0:ANXI=Q<#US#A >NMZLOA4,81IHV@%=*:8#G9']-2T.P$%8L
MA&$6,F2C'% NMR21L[0P09<L$9Q%Z$Z>/,)#9K1J%9%LJ>D=HA )]T4D;!61
M;*GI=A4B81B1>J]5E/K:G-L=.VXSS(=@)JR8"</,9 [SE]?K;A+:;KT.;D?K
MX!B"M[#B+=R7M[!5WK*EIMM5O(5AWNJ?"X;UIZ-$&(*^L*(OW)J^7I4(Q<)U
M.=%HF1)62<Z6FG[#19&<UY?D/*LD9TM-MZM(SH-)KID2)\^EPQ,192N_-&[>
M;"M[QC4MSS:G)W"+NCI6C.?!C.>/W==,3V"5UF=Y" CT:K<1>]]'M'LC<0C$
M\Q3B>?"]Q+;3DU*N,3WQW:/I"5QO5U^*Y3R8Y=I,3TJI^O0D,$U/X"J[6E+<
MYL'<9LA&.?C<)$A^(FMY&M'-4K![^5J.0%.C6:M09DM-[Q(%95Y?*/.L0IDM
M-=VN@C)O8"@K]1MW4[$S]9JA/@29>8K,/)C,6H?ZS.C6*FS94M.W?"C8\OO"
MEF\5MFRIZ785;/GM8*MUJ/O'ZVC95-R;-0<JN"%=C2K&\ELS%ASJ<Z-;JPAF
M2TWO$H5@?E\$\ZTBF"TUW6YM-Q>,8/U#_9C)9*@[TWGS9AW<D*Y&%9/Y,),]
M&^J-"#_--T6*K033/ .,GJUN!K.EIG>,(CN_[WXPWRJUV5+3[2IJ\P?>$U;J
M@VM+<!NZ>E2HYL.H9H[U:J7H-:0.U]#ZG ]!=+XB.O^T;XA;I35;:OK>5T5K
M 8A'BPN2ABDJMOTC&>="ODGW_#&?9AOWMCJF^]5.$U;@:KO:4E06P%36+JK-
MFW@MX5;9'T/ 6Z#@+< ]HSJP"F:VU'2["LP"^ 9I[PMWJ=\@%</J$=R0KD85
MD@7MD*S74F]9UPM+O7"+NCJN[=9_Q7;]_]L6YL!P/_5X#S/LK&O/*7@+NBS+
MM=LU %?1^BHQ!-X%"N^"OHMR@=5%.5MJNEU%>L' BW*!Z4[I\:X!N!EM;4YJ
MS[/%E&_RQ_Q2F?4R88M'VZIOJT<)/^8/T$W4X<5SB->$;[)DCNA:%G7&,YF/
MO'BTK_@@V"Y_.NZ>"<'B_.U6<A'EV0'R]S6325-^R"JH'K!<_ =02P,$%
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
M+",HLK+YQ$]M(G8<X"$'U#H@U<$_X."U#MZQ#G[KX->9::C4>4BQP),QHUO
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
M#@PG6?3GQ4"+I6MQ;X4V#;.[7 !-0=H%YOY,"/TPL!M47TGB?U!+ P04
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
M8QYMYLPHWU;;;@6*6)'+>DMD>[7=VGM?;6@]N>[;MT&]0;?#U/N%'PG?)KE
M*=THI'4S517@]1;<^D2R?;5E=,VD9%EUN*,DIKR\0?V^84R^G90)VHW0R_\!
M4$L#!!0    ( +6 I%:&8B290P,  "L*   9    >&PO=V]R:W-H965T<R]S
M:&5E=#4R+GAM;*V6VV[;.!"&7X70%HL6:"-11RNU!;0V%BVP18.DAVM:'MM$
M*5%+4G;R]CN4',6Q:*<7O;%$>0[?3W(XG.ZE^J6W (;<5Z+6,V]K3'/M^[K<
M0L7TE6R@QG_64E7,X%!M?-TH8*O.J1)^& 2I7S%>>\6T^W:CBJELC> UW"BB
MVZIBZN$C"+F?>=1[_'#+-UMC/_C%M&$;N /SO;E1./*'*"M>0:VYK(F"]<S[
M0*_GM'/H+'YPV.NC=V*E+*7\90>?5S,OL$0@H#0V!,/'#N8@A(V$'/\=@GI#
M3NMX_/X8_9]./(I9,@US*7[RE=G.O(E'5K!FK3"W<O\)#H(2&Z^40G>_9-_;
M)HE'RE8;61V<D:#B=?]D]X>).'*@\1F'\. 0_JY#='"(.J$]62=KP0PKIDKN
MB;+6&,V^='/3>:,:7MMEO#,*_^7H9XH/9:E:6)%_.5MRP0T'35XOP# N]!OR
MCGR_6Y#7K]Z05X37Y-M6MIK5*SWU#>:V$?SRD.=CGR<\D^<+4U<DHF])&(21
MPWU^V7T!Y> >/G?W4?$@.QQDAUV\Z/=E7[E$]5%B=Q1;8M>Z827,/*PA#6H'
M7O'W7S0-WKLD_J%@SP1'@^#H4O3BC@FF4.5;LL?JQ <N(UG*NM6XA:J*:UN7
MSG7MXZ9=7'LH[(HDS&)<A-VQMK%5EN0!':R>0<<#='P1^G.-;$ ,N\==V; '
MMA3@0NRC)$?)XR"+@Q/$L55(H]A-F R$R0N$NE6L+H&(IYWD0DS&R2<TST\0
M75:3+' SI@-C>I%QWITBH/#473+CQDM'B2FEZ2G>V"JD27IFD;,!+[N(MX U
M*(6UJ& '=>M<X&R<.,BBR0F>PXKF\9G9FPQXDY<*!S>?K99&8?-4YJ'?CR[,
MR7@6DTERN@]=5EF2N3'S 3-_82,:P%/#/)8)P18I9+UYAY\K[&M+XP+.1R@1
MS:,3WK$1#6F<NGEI\-1X@HO$7\T6E+.1!*[5IND)ELN,!N=V(SUJB/0BUS=I
MF,#K1=\@7BCK0ZSC<P\G,(JS4UB771Z-2ML_ZN3V&H5M<\-K302LT3&XRE"N
MZF\F_<#(IFON2VFPR+O7+=[F0%D#_'\MI7D<V/O"<#\L_@=02P,$%     @
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
ME$11DO@1P/P.H@A#X&G$$<P!>,"0**K>@P?OHW#[G@K;W[#&OP%02P,$%
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
M%     @ M8"D5@=!36*!    L0   !               ( !     &1O8U!R
M;W!S+V%P<"YX;6Q02P$"% ,4    " "U@*16*SQT@>X    K @  $0
M        @ &O    9&]C4')O<',O8V]R92YX;6Q02P$"% ,4    " "U@*16
MF5R<(Q &  "<)P  $P              @ ', 0  >&PO=&AE;64O=&AE;64Q
M+GAM;%!+ 0(4 Q0    ( +6 I%:.>$_]V 4  .(>   8              "
M@0T(  !X;"]W;W)K<VAE971S+W-H965T,2YX;6Q02P$"% ,4    " "U@*16
MBV1[JC4'  "6'@  &               @($;#@  >&PO=V]R:W-H965T<R]S
M:&5E=#(N>&UL4$L! A0#%     @ M8"D5K< KX13 P  @0L  !@
M     ("!AA4  'AL+W=O<FMS:&5E=',O<VAE970S+GAM;%!+ 0(4 Q0    (
M +6 I%:0$G%,BP0  )P1   8              " @0\9  !X;"]W;W)K<VAE
M971S+W-H965T-"YX;6Q02P$"% ,4    " "U@*16C&_0C] "   E"   &
M            @('0'0  >&PO=V]R:W-H965T<R]S:&5E=#4N>&UL4$L! A0#
M%     @ M8"D5D>J=FW)!P  H"$  !@              ("!UB   'AL+W=O
M<FMS:&5E=',O<VAE970V+GAM;%!+ 0(4 Q0    ( +6 I%; 6_*V3@8  !DH
M   8              " @=4H  !X;"]W;W)K<VAE971S+W-H965T-RYX;6Q0
M2P$"% ,4    " "U@*16(2\2N5\#  !Y"0  &               @(%9+P
M>&PO=V]R:W-H965T<R]S:&5E=#@N>&UL4$L! A0#%     @ M8"D5GXP%'!I
M!   V0D  !@              ("![C(  'AL+W=O<FMS:&5E=',O<VAE970Y
M+GAM;%!+ 0(4 Q0    ( +6 I%;1M:1!0 0  (P)   9              "
M@8TW  !X;"]W;W)K<VAE971S+W-H965T,3 N>&UL4$L! A0#%     @ M8"D
M5KZH5#J(!@  714  !D              ("!!#P  'AL+W=O<FMS:&5E=',O
M<VAE970Q,2YX;6Q02P$"% ,4    " "U@*16CL.M@UD%  "^#P  &0
M        @('#0@  >&PO=V]R:W-H965T<R]S:&5E=#$R+GAM;%!+ 0(4 Q0
M   ( +6 I%9?9S ZO0X  .@Q   9              " @5-(  !X;"]W;W)K
M<VAE971S+W-H965T,3,N>&UL4$L! A0#%     @ M8"D5DGR240! P  +P<
M !D              ("!1U<  'AL+W=O<FMS:&5E=',O<VAE970Q-"YX;6Q0
M2P$"% ,4    " "U@*162QR,IHT$  !?#   &0              @(%_6@
M>&PO=V]R:W-H965T<R]S:&5E=#$U+GAM;%!+ 0(4 Q0    ( +6 I%9+D0M5
MR@(  %L&   9              " @4-?  !X;"]W;W)K<VAE971S+W-H965T
M,38N>&UL4$L! A0#%     @ M8"D5OL0EIAA!   CPX  !D
M ("!1&(  'AL+W=O<FMS:&5E=',O<VAE970Q-RYX;6Q02P$"% ,4    " "U
M@*16@5\HX18(  #I&   &0              @('<9@  >&PO=V]R:W-H965T
M<R]S:&5E=#$X+GAM;%!+ 0(4 Q0    ( +6 I%;$]E_WE@4  "<-   9
M          " @2EO  !X;"]W;W)K<VAE971S+W-H965T,3DN>&UL4$L! A0#
M%     @ M8"D5NF54(1/ P  8@@  !D              ("!]G0  'AL+W=O
M<FMS:&5E=',O<VAE970R,"YX;6Q02P$"% ,4    " "U@*169^]/5?<#  "!
M"0  &0              @(%\>   >&PO=V]R:W-H965T<R]S:&5E=#(Q+GAM
M;%!+ 0(4 Q0    ( +6 I%;R^0 2/P0   L*   9              " @:I\
M  !X;"]W;W)K<VAE971S+W-H965T,C(N>&UL4$L! A0#%     @ M8"D5HQ"
M)&/Z!   7!(  !D              ("!(($  'AL+W=O<FMS:&5E=',O<VAE
M970R,RYX;6Q02P$"% ,4    " "U@*16?Y(BAP\$  #U#0  &0
M    @(%1A@  >&PO=V]R:W-H965T<R]S:&5E=#(T+GAM;%!+ 0(4 Q0    (
M +6 I%;8C466,P8  (D6   9              " @9>*  !X;"]W;W)K<VAE
M971S+W-H965T,C4N>&UL4$L! A0#%     @ M8"D5KK#&I9? @  Q@4  !D
M             ("! 9$  'AL+W=O<FMS:&5E=',O<VAE970R-BYX;6Q02P$"
M% ,4    " "U@*163^G"4XL$  !L#   &0              @(&7DP  >&PO
M=V]R:W-H965T<R]S:&5E=#(W+GAM;%!+ 0(4 Q0    ( +6 I%:U5$\2"@0
M ,D-   9              " @5F8  !X;"]W;W)K<VAE971S+W-H965T,C@N
M>&UL4$L! A0#%     @ M8"D5NN L[]H!@  .1<  !D              ("!
MFIP  'AL+W=O<FMS:&5E=',O<VAE970R.2YX;6Q02P$"% ,4    " "U@*16
M3(HF/X("  "O!@  &0              @($YHP  >&PO=V]R:W-H965T<R]S
M:&5E=#,P+GAM;%!+ 0(4 Q0    ( +6 I%9+VG$%+P,  " (   9
M      " @?*E  !X;"]W;W)K<VAE971S+W-H965T,S$N>&UL4$L! A0#%
M  @ M8"D5OV:&U"J @  M 8  !D              ("!6*D  'AL+W=O<FMS
M:&5E=',O<VAE970S,BYX;6Q02P$"% ,4    " "U@*16+7:W_R8"  "L!
M&0              @($YK   >&PO=V]R:W-H965T<R]S:&5E=#,S+GAM;%!+
M 0(4 Q0    ( +6 I%:O-T_(4 @  &1&   9              " @9:N  !X
M;"]W;W)K<VAE971S+W-H965T,S0N>&UL4$L! A0#%     @ M8"D5A5*W\&N
M P  00\  !D              ("!';<  'AL+W=O<FMS:&5E=',O<VAE970S
M-2YX;6Q02P$"% ,4    " "U@*16ME_[#_L$  "$'0  &0
M@($"NP  >&PO=V]R:W-H965T<R]S:&5E=#,V+GAM;%!+ 0(4 Q0    ( +6
MI%: J24+_0(  ,L)   9              " @33   !X;"]W;W)K<VAE971S
M+W-H965T,S<N>&UL4$L! A0#%     @ M8"D5BD;= D.!   JA,  !D
M         ("!:,,  'AL+W=O<FMS:&5E=',O<VAE970S."YX;6Q02P$"% ,4
M    " "U@*16#&<GADP$   :&0  &0              @(&MQP  >&PO=V]R
M:W-H965T<R]S:&5E=#,Y+GAM;%!+ 0(4 Q0    ( +6 I%8C*=""@08  -4M
M   9              " @3#,  !X;"]W;W)K<VAE971S+W-H965T-# N>&UL
M4$L! A0#%     @ M8"D5B"<<8PL P  7 P  !D              ("!Z-(
M 'AL+W=O<FMS:&5E=',O<VAE970T,2YX;6Q02P$"% ,4    " "U@*16HLPH
ME4T'  !L.0  &0              @(%+U@  >&PO=V]R:W-H965T<R]S:&5E
M=#0R+GAM;%!+ 0(4 Q0    ( +6 I%;2,\<-(P,  ,8*   9
M  " @<_=  !X;"]W;W)K<VAE971S+W-H965T-#,N>&UL4$L! A0#%     @
MM8"D5I8P5C$Z P  & X  !D              ("!*>$  'AL+W=O<FMS:&5E
M=',O<VAE970T-"YX;6Q02P$"% ,4    " "U@*16[V3WZTX%  !$(@  &0
M            @(&:Y   >&PO=V]R:W-H965T<R]S:&5E=#0U+GAM;%!+ 0(4
M Q0    ( +6 I%9'([.W?0(  % &   9              " @1_J  !X;"]W
M;W)K<VAE971S+W-H965T-#8N>&UL4$L! A0#%     @ M8"D5@",_K8@!
MEA$  !D              ("!T^P  'AL+W=O<FMS:&5E=',O<VAE970T-RYX
M;6Q02P$"% ,4    " "U@*16=Q;2)'0#   Q$0  &0              @($J
M\0  >&PO=V]R:W-H965T<R]S:&5E=#0X+GAM;%!+ 0(4 Q0    ( +6 I%8N
M34[&V (  "8)   9              " @=7T  !X;"]W;W)K<VAE971S+W-H
M965T-#DN>&UL4$L! A0#%     @ M8"D5IT6T_Q##@  HZ$  !D
M     ("!Y/<  'AL+W=O<FMS:&5E=',O<VAE970U,"YX;6Q02P$"% ,4
M" "U@*16S=,'P7P%   4+0  &0              @(%>!@$ >&PO=V]R:W-H
M965T<R]S:&5E=#4Q+GAM;%!+ 0(4 Q0    ( +6 I%:&8B290P,  "L*   9
M              " @1$, 0!X;"]W;W)K<VAE971S+W-H965T-3(N>&UL4$L!
M A0#%     @ M8"D5FM"M^!Q @  4P8  !D              ("!BP\! 'AL
M+W=O<FMS:&5E=',O<VAE970U,RYX;6Q02P$"% ,4    " "U@*16K?]5_2H#
M  #0$@  #0              @ $S$@$ >&PO<W1Y;&5S+GAM;%!+ 0(4 Q0
M   ( +6 I%:7BKL<P    !,"   +              "  8@5 0!?<F5L<R\N
M<F5L<U!+ 0(4 Q0    ( +6 I%8K-H8;8@0  ',C   /              "
M 7$6 0!X;"]W;W)K8F]O:RYX;6Q02P$"% ,4    " "U@*16?'[I&]0!  #&
M'P  &@              @ $ &P$ >&PO7W)E;',O=V]R:V)O;VLN>&UL+G)E
M;'-02P$"% ,4    " "U@*16*F32ILH!  ";'P  $P              @ $,
L'0$ 6T-O;G1E;G1?5'EP97-=+GAM;%!+!08     /0 ] *(0   ''P$    !

end
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>66
<FILENAME>Show.js
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
// Edgar(tm) Renderer was created by staff of the U.S. Securities and Exchange Commission.  Data and content created by government employees within the scope of their employment are not subject to domestic copyright protection. 17 U.S.C. 105.
var Show={};Show.LastAR=null,Show.showAR=function(a,r,w){if(Show.LastAR)Show.hideAR();var e=a;while(e&&e.nodeName!='TABLE')e=e.nextSibling;if(!e||e.nodeName!='TABLE'){var ref=((window)?w.document:document).getElementById(r);if(ref){e=ref.cloneNode(!0);
e.removeAttribute('id');a.parentNode.appendChild(e)}}
if(e)e.style.display='block';Show.LastAR=e};Show.hideAR=function(){Show.LastAR.style.display='none'};Show.toggleNext=function(a){var e=a;while(e.nodeName!='DIV')e=e.nextSibling;if(!e.style){}else if(!e.style.display){}else{var d,p_;if(e.style.display=='none'){d='block';p='-'}else{d='none';p='+'}
e.style.display=d;if(a.textContent){a.textContent=p+a.textContent.substring(1)}else{a.innerText=p+a.innerText.substring(1)}}}
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>67
<FILENAME>report.css
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
/* Updated 2009-11-04 */
/* v2.2.0.24 */

/* DefRef Styles */
..report table.authRefData{
	background-color: #def;
	border: 2px solid #2F4497;
	font-size: 1em;
	position: absolute;
}

..report table.authRefData a {
	display: block;
	font-weight: bold;
}

..report table.authRefData p {
	margin-top: 0px;
}

..report table.authRefData .hide {
	background-color: #2F4497;
	padding: 1px 3px 0px 0px;
	text-align: right;
}

..report table.authRefData .hide a:hover {
	background-color: #2F4497;
}

..report table.authRefData .body {
	height: 150px;
	overflow: auto;
	width: 400px;
}

..report table.authRefData table{
	font-size: 1em;
}

/* Report Styles */
..pl a, .pl a:visited {
	color: black;
	text-decoration: none;
}

/* table */
..report {
	background-color: white;
	border: 2px solid #acf;
	clear: both;
	color: black;
	font: normal 8pt Helvetica, Arial, san-serif;
	margin-bottom: 2em;
}

..report hr {
	border: 1px solid #acf;
}

/* Top labels */
..report th {
	background-color: #acf;
	color: black;
	font-weight: bold;
	text-align: center;
}

..report th.void	{
	background-color: transparent;
	color: #000000;
	font: bold 10pt Helvetica, Arial, san-serif;
	text-align: left;
}

..report .pl {
	text-align: left;
	vertical-align: top;
	white-space: normal;
	width: 200px;
	white-space: normal; /* word-wrap: break-word; */
}

..report td.pl a.a {
	cursor: pointer;
	display: block;
	width: 200px;
	overflow: hidden;
}

..report td.pl div.a {
	width: 200px;
}

..report td.pl a:hover {
	background-color: #ffc;
}

/* Header rows... */
..report tr.rh {
	background-color: #acf;
	color: black;
	font-weight: bold;
}

/* Calendars... */
..report .rc {
	background-color: #f0f0f0;
}

/* Even rows... */
..report .re, .report .reu {
	background-color: #def;
}

..report .reu td {
	border-bottom: 1px solid black;
}

/* Odd rows... */
..report .ro, .report .rou {
	background-color: white;
}

..report .rou td {
	border-bottom: 1px solid black;
}

..report .rou table td, .report .reu table td {
	border-bottom: 0px solid black;
}

/* styles for footnote marker */
..report .fn {
	white-space: nowrap;
}

/* styles for numeric types */
..report .num, .report .nump {
	text-align: right;
	white-space: nowrap;
}

..report .nump {
	padding-left: 2em;
}

..report .nump {
	padding: 0px 0.4em 0px 2em;
}

/* styles for text types */
..report .text {
	text-align: left;
	white-space: normal;
}

..report .text .big {
	margin-bottom: 1em;
	width: 17em;
}

..report .text .more {
	display: none;
}

..report .text .note {
	font-style: italic;
	font-weight: bold;
}

..report .text .small {
	width: 10em;
}

..report sup {
	font-style: italic;
}

..report .outerFootnotes {
	font-size: 1em;
}
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>68
<FILENAME>FilingSummary.xml
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<XML>
<?xml version='1.0' encoding='utf-8'?>
<FilingSummary>
  <Version>3.23.1</Version>
  <ProcessingTime/>
  <ReportFormat>html</ReportFormat>
  <ContextCount>190</ContextCount>
  <ElementCount>271</ElementCount>
  <EntityCount>1</EntityCount>
  <FootnotesReported>false</FootnotesReported>
  <SegmentCount>64</SegmentCount>
  <ScenarioCount>0</ScenarioCount>
  <TuplesReported>false</TuplesReported>
  <UnitCount>6</UnitCount>
  <MyReports>
    <Report instance="bld-20230331x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R1.htm</HtmlFileName>
      <LongName>00090 - Document - Document and Entity Information</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.topbuild.com/role/DocumentDocumentAndEntityInformation</Role>
      <ShortName>Document and Entity Information</ShortName>
      <MenuCategory>Cover</MenuCategory>
      <Position>1</Position>
    </Report>
    <Report instance="bld-20230331x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R2.htm</HtmlFileName>
      <LongName>00100 - Statement - CONDENSED CONSOLIDATED BALANCE SHEETS</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.topbuild.com/role/StatementCondensedConsolidatedBalanceSheets</Role>
      <ShortName>CONDENSED CONSOLIDATED BALANCE SHEETS</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>2</Position>
    </Report>
    <Report instance="bld-20230331x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R3.htm</HtmlFileName>
      <LongName>00105 - Statement - CONDENSED CONSOLIDATED BALANCE SHEETS (Parenthetical)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.topbuild.com/role/StatementCondensedConsolidatedBalanceSheetsParenthetical</Role>
      <ShortName>CONDENSED CONSOLIDATED BALANCE SHEETS (Parenthetical)</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>3</Position>
    </Report>
    <Report instance="bld-20230331x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R4.htm</HtmlFileName>
      <LongName>00200 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF OPERATIONS</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.topbuild.com/role/StatementCondensedConsolidatedStatementsOfOperations</Role>
      <ShortName>CONDENSED CONSOLIDATED STATEMENTS OF OPERATIONS</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>4</Position>
    </Report>
    <Report instance="bld-20230331x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R5.htm</HtmlFileName>
      <LongName>00300 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF COMPREHENSIVE INCOME</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.topbuild.com/role/StatementCondensedConsolidatedStatementsOfComprehensiveIncome</Role>
      <ShortName>CONDENSED CONSOLIDATED STATEMENTS OF COMPREHENSIVE INCOME</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>5</Position>
    </Report>
    <Report instance="bld-20230331x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R6.htm</HtmlFileName>
      <LongName>00400 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF CASH FLOWS</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.topbuild.com/role/StatementCondensedConsolidatedStatementsOfCashFlows</Role>
      <ShortName>CONDENSED CONSOLIDATED STATEMENTS OF CASH FLOWS</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>6</Position>
    </Report>
    <Report instance="bld-20230331x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R7.htm</HtmlFileName>
      <LongName>00500 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF CHANGES IN EQUITY</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.topbuild.com/role/StatementCondensedConsolidatedStatementsOfChangesInEquity</Role>
      <ShortName>CONDENSED CONSOLIDATED STATEMENTS OF CHANGES IN EQUITY</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>7</Position>
    </Report>
    <Report instance="bld-20230331x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R8.htm</HtmlFileName>
      <LongName>00505 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF CHANGES IN EQUITY (Parenthetical)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.topbuild.com/role/StatementCondensedConsolidatedStatementsOfChangesInEquityParenthetical</Role>
      <ShortName>CONDENSED CONSOLIDATED STATEMENTS OF CHANGES IN EQUITY (Parenthetical)</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>8</Position>
    </Report>
    <Report instance="bld-20230331x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R9.htm</HtmlFileName>
      <LongName>10101 - Disclosure - Basis of Presentation</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.topbuild.com/role/DisclosureBasisOfPresentation</Role>
      <ShortName>Basis of Presentation</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>9</Position>
    </Report>
    <Report instance="bld-20230331x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R10.htm</HtmlFileName>
      <LongName>10201 - Disclosure - Accounting Policies</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.topbuild.com/role/DisclosureAccountingPolicies</Role>
      <ShortName>Accounting Policies</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>10</Position>
    </Report>
    <Report instance="bld-20230331x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R11.htm</HtmlFileName>
      <LongName>10301 - Disclosure - Revenue Recognition</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.topbuild.com/role/DisclosureRevenueRecognition</Role>
      <ShortName>Revenue Recognition</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>11</Position>
    </Report>
    <Report instance="bld-20230331x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R12.htm</HtmlFileName>
      <LongName>10401 - Disclosure - Goodwill and Other Intangibles</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.topbuild.com/role/DisclosureGoodwillAndOtherIntangibles</Role>
      <ShortName>Goodwill and Other Intangibles</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>12</Position>
    </Report>
    <Report instance="bld-20230331x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R13.htm</HtmlFileName>
      <LongName>10501 - Disclosure - Long-Term Debt</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.topbuild.com/role/DisclosureLongTermDebt</Role>
      <ShortName>Long-Term Debt</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>13</Position>
    </Report>
    <Report instance="bld-20230331x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R14.htm</HtmlFileName>
      <LongName>10601 - Disclosure - Fair Value Measurements</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.topbuild.com/role/DisclosureFairValueMeasurements</Role>
      <ShortName>Fair Value Measurements</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>14</Position>
    </Report>
    <Report instance="bld-20230331x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R15.htm</HtmlFileName>
      <LongName>10701 - Disclosure - Segment Information</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.topbuild.com/role/DisclosureSegmentInformation</Role>
      <ShortName>Segment Information</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>15</Position>
    </Report>
    <Report instance="bld-20230331x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R16.htm</HtmlFileName>
      <LongName>10801 - Disclosure - Income Taxes</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.topbuild.com/role/DisclosureIncomeTaxes</Role>
      <ShortName>Income Taxes</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>16</Position>
    </Report>
    <Report instance="bld-20230331x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R17.htm</HtmlFileName>
      <LongName>10901 - Disclosure - Net Income Per Share</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.topbuild.com/role/DisclosureNetIncomePerShare</Role>
      <ShortName>Net Income Per Share</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>17</Position>
    </Report>
    <Report instance="bld-20230331x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R18.htm</HtmlFileName>
      <LongName>11001 - Disclosure - Share-Based Compensation</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.topbuild.com/role/DisclosureShareBasedCompensation</Role>
      <ShortName>Share-Based Compensation</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>18</Position>
    </Report>
    <Report instance="bld-20230331x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R19.htm</HtmlFileName>
      <LongName>11101 - Disclosure - Business Combinations</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.topbuild.com/role/DisclosureBusinessCombinations</Role>
      <ShortName>Business Combinations</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>19</Position>
    </Report>
    <Report instance="bld-20230331x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R20.htm</HtmlFileName>
      <LongName>11201 - Disclosure - Accrued Liabilities</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.topbuild.com/role/DisclosureAccruedLiabilities</Role>
      <ShortName>Accrued Liabilities</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>20</Position>
    </Report>
    <Report instance="bld-20230331x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R21.htm</HtmlFileName>
      <LongName>11301 - Disclosure - Other Commitments and Contingencies</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.topbuild.com/role/DisclosureOtherCommitmentsAndContingencies</Role>
      <ShortName>Other Commitments and Contingencies</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>21</Position>
    </Report>
    <Report instance="bld-20230331x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R22.htm</HtmlFileName>
      <LongName>20202 - Disclosure - Accounting Policies (Policies)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.topbuild.com/role/DisclosureAccountingPoliciesPolicies</Role>
      <ShortName>Accounting Policies (Policies)</ShortName>
      <MenuCategory>Policies</MenuCategory>
      <ParentRole>http://www.topbuild.com/role/DisclosureAccountingPolicies</ParentRole>
      <Position>22</Position>
    </Report>
    <Report instance="bld-20230331x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R23.htm</HtmlFileName>
      <LongName>30303 - Disclosure - Revenue Recognition (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.topbuild.com/role/DisclosureRevenueRecognitionTables</Role>
      <ShortName>Revenue Recognition (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.topbuild.com/role/DisclosureRevenueRecognition</ParentRole>
      <Position>23</Position>
    </Report>
    <Report instance="bld-20230331x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R24.htm</HtmlFileName>
      <LongName>30403 - Disclosure - Goodwill and Other Intangibles (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.topbuild.com/role/DisclosureGoodwillAndOtherIntangiblesTables</Role>
      <ShortName>Goodwill and Other Intangibles (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.topbuild.com/role/DisclosureGoodwillAndOtherIntangibles</ParentRole>
      <Position>24</Position>
    </Report>
    <Report instance="bld-20230331x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R25.htm</HtmlFileName>
      <LongName>30503 - Disclosure - Long-Term Debt (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.topbuild.com/role/DisclosureLongTermDebtTables</Role>
      <ShortName>Long-Term Debt (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.topbuild.com/role/DisclosureLongTermDebt</ParentRole>
      <Position>25</Position>
    </Report>
    <Report instance="bld-20230331x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R26.htm</HtmlFileName>
      <LongName>30603 - Disclosure - Fair Value Measurements (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.topbuild.com/role/DisclosureFairValueMeasurementsTables</Role>
      <ShortName>Fair Value Measurements (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.topbuild.com/role/DisclosureFairValueMeasurements</ParentRole>
      <Position>26</Position>
    </Report>
    <Report instance="bld-20230331x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R27.htm</HtmlFileName>
      <LongName>30703 - Disclosure - Segment Information (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.topbuild.com/role/DisclosureSegmentInformationTables</Role>
      <ShortName>Segment Information (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.topbuild.com/role/DisclosureSegmentInformation</ParentRole>
      <Position>27</Position>
    </Report>
    <Report instance="bld-20230331x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R28.htm</HtmlFileName>
      <LongName>30903 - Disclosure - Net Income Per Share (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.topbuild.com/role/DisclosureNetIncomePerShareTables</Role>
      <ShortName>Net Income Per Share (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.topbuild.com/role/DisclosureNetIncomePerShare</ParentRole>
      <Position>28</Position>
    </Report>
    <Report instance="bld-20230331x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R29.htm</HtmlFileName>
      <LongName>31003 - Disclosure - Share-Based Compensation (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.topbuild.com/role/DisclosureShareBasedCompensationTables</Role>
      <ShortName>Share-Based Compensation (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.topbuild.com/role/DisclosureShareBasedCompensation</ParentRole>
      <Position>29</Position>
    </Report>
    <Report instance="bld-20230331x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R30.htm</HtmlFileName>
      <LongName>31103 - Disclosure - Business Combinations (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.topbuild.com/role/DisclosureBusinessCombinationsTables</Role>
      <ShortName>Business Combinations (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.topbuild.com/role/DisclosureBusinessCombinations</ParentRole>
      <Position>30</Position>
    </Report>
    <Report instance="bld-20230331x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R31.htm</HtmlFileName>
      <LongName>31203 - Disclosure - Accrued Liabilities (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.topbuild.com/role/DisclosureAccruedLiabilitiesTables</Role>
      <ShortName>Accrued Liabilities (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.topbuild.com/role/DisclosureAccruedLiabilities</ParentRole>
      <Position>31</Position>
    </Report>
    <Report instance="bld-20230331x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R32.htm</HtmlFileName>
      <LongName>31303 - Disclosure - Other Commitments and Contingencies (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.topbuild.com/role/DisclosureOtherCommitmentsAndContingenciesTables</Role>
      <ShortName>Other Commitments and Contingencies (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.topbuild.com/role/DisclosureOtherCommitmentsAndContingencies</ParentRole>
      <Position>32</Position>
    </Report>
    <Report instance="bld-20230331x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R33.htm</HtmlFileName>
      <LongName>40101 - Disclosure - Basis of Presentation (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.topbuild.com/role/DisclosureBasisOfPresentationDetails</Role>
      <ShortName>Basis of Presentation (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.topbuild.com/role/DisclosureBasisOfPresentation</ParentRole>
      <Position>33</Position>
    </Report>
    <Report instance="bld-20230331x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R34.htm</HtmlFileName>
      <LongName>40301 - Disclosure - Revenue Recognition - Disaggregation (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.topbuild.com/role/DisclosureRevenueRecognitionDisaggregationDetails</Role>
      <ShortName>Revenue Recognition - Disaggregation (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>34</Position>
    </Report>
    <Report instance="bld-20230331x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R35.htm</HtmlFileName>
      <LongName>40302 - Disclosure - Revenue Recognition - Other (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.topbuild.com/role/DisclosureRevenueRecognitionOtherDetails</Role>
      <ShortName>Revenue Recognition - Other (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>35</Position>
    </Report>
    <Report instance="bld-20230331x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R36.htm</HtmlFileName>
      <LongName>40401 - Disclosure - Goodwill and Other Intangibles - Goodwill (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.topbuild.com/role/DisclosureGoodwillAndOtherIntangiblesGoodwillDetails</Role>
      <ShortName>Goodwill and Other Intangibles - Goodwill (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>36</Position>
    </Report>
    <Report instance="bld-20230331x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R37.htm</HtmlFileName>
      <LongName>40402 - Disclosure - Goodwill and Other Intangibles - Other intangible assets (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.topbuild.com/role/DisclosureGoodwillAndOtherIntangiblesOtherIntangibleAssetsDetails</Role>
      <ShortName>Goodwill and Other Intangibles - Other intangible assets (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>37</Position>
    </Report>
    <Report instance="bld-20230331x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R38.htm</HtmlFileName>
      <LongName>40501 - Disclosure - Long-Term Debt - Reconciliation (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.topbuild.com/role/DisclosureLongTermDebtReconciliationDetails</Role>
      <ShortName>Long-Term Debt - Reconciliation (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>38</Position>
    </Report>
    <Report instance="bld-20230331x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R39.htm</HtmlFileName>
      <LongName>40502 - Disclosure - Long-Term Debt - Schedule of debt maturity (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.topbuild.com/role/DisclosureLongTermDebtScheduleOfDebtMaturityDetails</Role>
      <ShortName>Long-Term Debt - Schedule of debt maturity (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>39</Position>
    </Report>
    <Report instance="bld-20230331x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R40.htm</HtmlFileName>
      <LongName>40503 - Disclosure - Long-Term Debt - Key Terms of Credit Agreement (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.topbuild.com/role/DisclosureLongTermDebtKeyTermsOfCreditAgreementDetails</Role>
      <ShortName>Long-Term Debt - Key Terms of Credit Agreement (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>40</Position>
    </Report>
    <Report instance="bld-20230331x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R41.htm</HtmlFileName>
      <LongName>40504 - Disclosure - Long-Term Debt - Revolving Facility (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.topbuild.com/role/DisclosureLongTermDebtRevolvingFacilityDetails</Role>
      <ShortName>Long-Term Debt - Revolving Facility (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>41</Position>
    </Report>
    <Report instance="bld-20230331x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R42.htm</HtmlFileName>
      <LongName>40505 - Disclosure - Long-Term Debt - Senior Notes and Equipment Notes (Details)</LongName>
      <ReportType>Notes</ReportType>
      <Role>http://www.topbuild.com/role/DisclosureLongTermDebtSeniorNotesAndEquipmentNotesDetails</Role>
      <ShortName>Long-Term Debt - Senior Notes and Equipment Notes (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>42</Position>
    </Report>
    <Report instance="bld-20230331x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R43.htm</HtmlFileName>
      <LongName>40506 - Disclosure - Long-Term Debt - Other (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.topbuild.com/role/DisclosureLongTermDebtOtherDetails</Role>
      <ShortName>Long-Term Debt - Other (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>43</Position>
    </Report>
    <Report instance="bld-20230331x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R44.htm</HtmlFileName>
      <LongName>40601 - Disclosure - Fair Value Measurements (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.topbuild.com/role/DisclosureFairValueMeasurementsDetails</Role>
      <ShortName>Fair Value Measurements (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.topbuild.com/role/DisclosureFairValueMeasurementsTables</ParentRole>
      <Position>44</Position>
    </Report>
    <Report instance="bld-20230331x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R45.htm</HtmlFileName>
      <LongName>40701 - Disclosure - Segment Information (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.topbuild.com/role/DisclosureSegmentInformationDetails</Role>
      <ShortName>Segment Information (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.topbuild.com/role/DisclosureSegmentInformationTables</ParentRole>
      <Position>45</Position>
    </Report>
    <Report instance="bld-20230331x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R46.htm</HtmlFileName>
      <LongName>40801 - Disclosure - Income Taxes (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.topbuild.com/role/DisclosureIncomeTaxesDetails</Role>
      <ShortName>Income Taxes (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.topbuild.com/role/DisclosureIncomeTaxes</ParentRole>
      <Position>46</Position>
    </Report>
    <Report instance="bld-20230331x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R47.htm</HtmlFileName>
      <LongName>40901 - Disclosure - Net Income Per Share - Calculation (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.topbuild.com/role/DisclosureNetIncomePerShareCalculationDetails</Role>
      <ShortName>Net Income Per Share - Calculation (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>47</Position>
    </Report>
    <Report instance="bld-20230331x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R48.htm</HtmlFileName>
      <LongName>40902 - Disclosure - Net Income Per Share - Anti-dilutive common stock equivalents (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.topbuild.com/role/DisclosureNetIncomePerShareAntiDilutiveCommonStockEquivalentsDetails</Role>
      <ShortName>Net Income Per Share - Anti-dilutive common stock equivalents (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>48</Position>
    </Report>
    <Report instance="bld-20230331x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R49.htm</HtmlFileName>
      <LongName>41001 - Disclosure - Share-Based Compensation - Expense (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.topbuild.com/role/DisclosureShareBasedCompensationExpenseDetails</Role>
      <ShortName>Share-Based Compensation - Expense (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>49</Position>
    </Report>
    <Report instance="bld-20230331x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R50.htm</HtmlFileName>
      <LongName>41002 - Disclosure - Share-Based Compensation - Activity (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.topbuild.com/role/DisclosureShareBasedCompensationActivityDetails</Role>
      <ShortName>Share-Based Compensation - Activity (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>50</Position>
    </Report>
    <Report instance="bld-20230331x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R51.htm</HtmlFileName>
      <LongName>41101 - Disclosure - Business Combinations - Summary (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.topbuild.com/role/DisclosureBusinessCombinationsSummaryDetails</Role>
      <ShortName>Business Combinations - Summary (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>51</Position>
    </Report>
    <Report instance="bld-20230331x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R52.htm</HtmlFileName>
      <LongName>41301 - Disclosure - Accrued Liabilities (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.topbuild.com/role/DisclosureAccruedLiabilitiesDetails</Role>
      <ShortName>Accrued Liabilities (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.topbuild.com/role/DisclosureAccruedLiabilitiesTables</ParentRole>
      <Position>52</Position>
    </Report>
    <Report instance="bld-20230331x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R53.htm</HtmlFileName>
      <LongName>41401 - Disclosure - Other Commitments and Contingencies (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.topbuild.com/role/DisclosureOtherCommitmentsAndContingenciesDetails</Role>
      <ShortName>Other Commitments and Contingencies (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.topbuild.com/role/DisclosureOtherCommitmentsAndContingenciesTables</ParentRole>
      <Position>53</Position>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <LongName>All Reports</LongName>
      <ReportType>Book</ReportType>
      <ShortName>All Reports</ShortName>
    </Report>
  </MyReports>
  <Logs>
    <Log type="Warning">[ix-0514-Hidden-Fact-Eligible-For-Transform] WARN: 2 fact(s) appearing in ix:hidden were eligible for transformation: us-gaap:PreferredStockSharesOutstanding -  bld-20230331x10q.htm 9</Log>
    <Log type="Warning">[ix-0514-Hidden-Fact-Not-Referenced] WARN: 2 fact(s) appearing in ix:hidden were not referenced by any -sec-ix-hidden style property: us-gaap:CommitmentsAndContingencies -  bld-20230331x10q.htm 9</Log>
  </Logs>
  <InputFiles>
    <File doctype="10-Q" original="bld-20230331x10q.htm">bld-20230331x10q.htm</File>
    <File>bld-20230331.xsd</File>
    <File>bld-20230331_cal.xml</File>
    <File>bld-20230331_def.xml</File>
    <File>bld-20230331_lab.xml</File>
    <File>bld-20230331_pre.xml</File>
    <File>bld-20230331xex31d1.htm</File>
    <File>bld-20230331xex31d2.htm</File>
    <File>bld-20230331xex32d1.htm</File>
    <File>bld-20230331xex32d2.htm</File>
  </InputFiles>
  <SupplementalFiles/>
  <BaseTaxonomies>
    <BaseTaxonomy items="555">http://fasb.org/us-gaap/2022</BaseTaxonomy>
    <BaseTaxonomy items="29">http://xbrl.sec.gov/dei/2022</BaseTaxonomy>
  </BaseTaxonomies>
  <HasPresentationLinkbase>true</HasPresentationLinkbase>
  <HasCalculationLinkbase>true</HasCalculationLinkbase>
</FilingSummary>
</XML>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>JSON
<SEQUENCE>71
<FILENAME>MetaLinks.json
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
{
 "instance": {
  "bld-20230331x10q.htm": {
   "axisCustom": 2,
   "axisStandard": 20,
   "baseTaxonomies": {
    "http://fasb.org/us-gaap/2022": 555,
    "http://xbrl.sec.gov/dei/2022": 29
   },
   "contextCount": 190,
   "dts": {
    "calculationLink": {
     "local": [
      "bld-20230331_cal.xml"
     ]
    },
    "definitionLink": {
     "local": [
      "bld-20230331_def.xml"
     ]
    },
    "inline": {
     "local": [
      "bld-20230331x10q.htm"
     ]
    },
    "labelLink": {
     "local": [
      "bld-20230331_lab.xml"
     ]
    },
    "presentationLink": {
     "local": [
      "bld-20230331_pre.xml"
     ]
    },
    "schema": {
     "local": [
      "bld-20230331.xsd"
     ],
     "remote": [
      "http://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd",
      "http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd",
      "http://www.xbrl.org/2003/xl-2003-12-31.xsd",
      "http://www.xbrl.org/2003/xlink-2003-12-31.xsd",
      "http://www.xbrl.org/2005/xbrldt-2005.xsd",
      "http://www.xbrl.org/2006/ref-2006-02-27.xsd",
      "http://www.xbrl.org/lrr/arcrole/esma-arcrole-2018-11-21.xsd",
      "http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd",
      "http://www.xbrl.org/lrr/role/reference-2009-12-16.xsd",
      "https://www.xbrl.org/2020/extensible-enumerations-2.0.xsd",
      "https://www.xbrl.org/dtr/type/2020-01-21/types.xsd",
      "https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd",
      "https://xbrl.fasb.org/srt/2022/elts/srt-roles-2022.xsd",
      "https://xbrl.fasb.org/srt/2022/elts/srt-types-2022.xsd",
      "https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd",
      "https://xbrl.fasb.org/us-gaap/2022/elts/us-roles-2022.xsd",
      "https://xbrl.fasb.org/us-gaap/2022/elts/us-types-2022.xsd",
      "https://xbrl.sec.gov/country/2022/country-2022.xsd",
      "https://xbrl.sec.gov/dei/2022/dei-2022.xsd"
     ]
    }
   },
   "elementCount": 456,
   "entityCount": 1,
   "hidden": {
    "http://fasb.org/us-gaap/2022": 6,
    "http://xbrl.sec.gov/dei/2022": 5,
    "total": 11
   },
   "keyCustom": 47,
   "keyStandard": 224,
   "memberCustom": 35,
   "memberStandard": 25,
   "nsprefix": "bld",
   "nsuri": "http://www.topbuild.com/20230331",
   "report": {
    "R1": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "bld-20230331x10q.htm",
      "contextRef": "Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "dei:EntityRegistrantName",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "document",
     "isDefault": "true",
     "longName": "00090 - Document - Document and Entity Information",
     "menuCat": "Cover",
     "order": "1",
     "role": "http://www.topbuild.com/role/DocumentDocumentAndEntityInformation",
     "shortName": "Document and Entity Information",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "bld-20230331x10q.htm",
      "contextRef": "Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "dei:EntityRegistrantName",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R10": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "bld-20230331x10q.htm",
      "contextRef": "Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:SignificantAccountingPoliciesTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "10201 - Disclosure - Accounting Policies",
     "menuCat": "Notes",
     "order": "10",
     "role": "http://www.topbuild.com/role/DisclosureAccountingPolicies",
     "shortName": "Accounting Policies",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "bld-20230331x10q.htm",
      "contextRef": "Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:SignificantAccountingPoliciesTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R11": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "bld-20230331x10q.htm",
      "contextRef": "Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:RevenueFromContractWithCustomerTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "10301 - Disclosure - Revenue Recognition",
     "menuCat": "Notes",
     "order": "11",
     "role": "http://www.topbuild.com/role/DisclosureRevenueRecognition",
     "shortName": "Revenue Recognition",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "bld-20230331x10q.htm",
      "contextRef": "Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:RevenueFromContractWithCustomerTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R12": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "bld-20230331x10q.htm",
      "contextRef": "Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "10401 - Disclosure - Goodwill and Other Intangibles",
     "menuCat": "Notes",
     "order": "12",
     "role": "http://www.topbuild.com/role/DisclosureGoodwillAndOtherIntangibles",
     "shortName": "Goodwill and Other Intangibles",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "bld-20230331x10q.htm",
      "contextRef": "Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R13": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "bld-20230331x10q.htm",
      "contextRef": "Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:LongTermDebtTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "10501 - Disclosure - Long-Term Debt",
     "menuCat": "Notes",
     "order": "13",
     "role": "http://www.topbuild.com/role/DisclosureLongTermDebt",
     "shortName": "Long-Term Debt",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "bld-20230331x10q.htm",
      "contextRef": "Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:LongTermDebtTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R14": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "bld-20230331x10q.htm",
      "contextRef": "Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:FairValueDisclosuresTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "10601 - Disclosure - Fair Value Measurements",
     "menuCat": "Notes",
     "order": "14",
     "role": "http://www.topbuild.com/role/DisclosureFairValueMeasurements",
     "shortName": "Fair Value Measurements",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "bld-20230331x10q.htm",
      "contextRef": "Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:FairValueDisclosuresTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R15": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "bld-20230331x10q.htm",
      "contextRef": "Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:SegmentReportingDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "10701 - Disclosure - Segment Information",
     "menuCat": "Notes",
     "order": "15",
     "role": "http://www.topbuild.com/role/DisclosureSegmentInformation",
     "shortName": "Segment Information",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "bld-20230331x10q.htm",
      "contextRef": "Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:SegmentReportingDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R16": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "bld-20230331x10q.htm",
      "contextRef": "Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:IncomeTaxDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "10801 - Disclosure - Income Taxes",
     "menuCat": "Notes",
     "order": "16",
     "role": "http://www.topbuild.com/role/DisclosureIncomeTaxes",
     "shortName": "Income Taxes",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "bld-20230331x10q.htm",
      "contextRef": "Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:IncomeTaxDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R17": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "bld-20230331x10q.htm",
      "contextRef": "Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:EarningsPerShareTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "10901 - Disclosure - Net Income Per Share",
     "menuCat": "Notes",
     "order": "17",
     "role": "http://www.topbuild.com/role/DisclosureNetIncomePerShare",
     "shortName": "Net Income Per Share",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "bld-20230331x10q.htm",
      "contextRef": "Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:EarningsPerShareTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R18": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "bld-20230331x10q.htm",
      "contextRef": "Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "11001 - Disclosure - Share-Based Compensation",
     "menuCat": "Notes",
     "order": "18",
     "role": "http://www.topbuild.com/role/DisclosureShareBasedCompensation",
     "shortName": "Share-Based Compensation",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "bld-20230331x10q.htm",
      "contextRef": "Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R19": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "bld-20230331x10q.htm",
      "contextRef": "Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:BusinessCombinationDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "11101 - Disclosure - Business Combinations",
     "menuCat": "Notes",
     "order": "19",
     "role": "http://www.topbuild.com/role/DisclosureBusinessCombinations",
     "shortName": "Business Combinations",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "bld-20230331x10q.htm",
      "contextRef": "Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:BusinessCombinationDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R2": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "bld-20230331x10q.htm",
      "contextRef": "As_Of_3_31_2023_if5iG1tra0aH_pegPPBopw",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:CashAndCashEquivalentsAtCarryingValue",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw",
      "xsiNil": "false"
     },
     "groupType": "statement",
     "isDefault": "false",
     "longName": "00100 - Statement - CONDENSED CONSOLIDATED BALANCE SHEETS",
     "menuCat": "Statements",
     "order": "2",
     "role": "http://www.topbuild.com/role/StatementCondensedConsolidatedBalanceSheets",
     "shortName": "CONDENSED CONSOLIDATED BALANCE SHEETS",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "bld-20230331x10q.htm",
      "contextRef": "As_Of_3_31_2023_if5iG1tra0aH_pegPPBopw",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:CashAndCashEquivalentsAtCarryingValue",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw",
      "xsiNil": "false"
     }
    },
    "R20": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "bld-20230331x10q.htm",
      "contextRef": "Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "bld:AccruedLiabilitiesDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "11201 - Disclosure - Accrued Liabilities",
     "menuCat": "Notes",
     "order": "20",
     "role": "http://www.topbuild.com/role/DisclosureAccruedLiabilities",
     "shortName": "Accrued Liabilities",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "bld-20230331x10q.htm",
      "contextRef": "Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "bld:AccruedLiabilitiesDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R21": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "bld-20230331x10q.htm",
      "contextRef": "Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "11301 - Disclosure - Other Commitments and Contingencies",
     "menuCat": "Notes",
     "order": "21",
     "role": "http://www.topbuild.com/role/DisclosureOtherCommitmentsAndContingencies",
     "shortName": "Other Commitments and Contingencies",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "bld-20230331x10q.htm",
      "contextRef": "Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R22": {
     "firstAnchor": {
      "ancestors": [
       "us-gaap:SignificantAccountingPoliciesTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "bld-20230331x10q.htm",
      "contextRef": "Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:BasisOfAccountingPolicyPolicyTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "20202 - Disclosure - Accounting Policies (Policies)",
     "menuCat": "Policies",
     "order": "22",
     "role": "http://www.topbuild.com/role/DisclosureAccountingPoliciesPolicies",
     "shortName": "Accounting Policies (Policies)",
     "subGroupType": "policies",
     "uniqueAnchor": {
      "ancestors": [
       "us-gaap:SignificantAccountingPoliciesTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "bld-20230331x10q.htm",
      "contextRef": "Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:BasisOfAccountingPolicyPolicyTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R23": {
     "firstAnchor": {
      "ancestors": [
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "bld-20230331x10q.htm",
      "contextRef": "Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:DisaggregationOfRevenueTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "30303 - Disclosure - Revenue Recognition (Tables)",
     "menuCat": "Tables",
     "order": "23",
     "role": "http://www.topbuild.com/role/DisclosureRevenueRecognitionTables",
     "shortName": "Revenue Recognition (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "bld-20230331x10q.htm",
      "contextRef": "Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:DisaggregationOfRevenueTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R24": {
     "firstAnchor": {
      "ancestors": [
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "bld-20230331x10q.htm",
      "contextRef": "Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfGoodwillTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "30403 - Disclosure - Goodwill and Other Intangibles (Tables)",
     "menuCat": "Tables",
     "order": "24",
     "role": "http://www.topbuild.com/role/DisclosureGoodwillAndOtherIntangiblesTables",
     "shortName": "Goodwill and Other Intangibles (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "bld-20230331x10q.htm",
      "contextRef": "Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfGoodwillTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R25": {
     "firstAnchor": {
      "ancestors": [
       "us-gaap:LongTermDebtTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "bld-20230331x10q.htm",
      "contextRef": "Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfDebtTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "30503 - Disclosure - Long-Term Debt (Tables)",
     "menuCat": "Tables",
     "order": "25",
     "role": "http://www.topbuild.com/role/DisclosureLongTermDebtTables",
     "shortName": "Long-Term Debt (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "us-gaap:LongTermDebtTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "bld-20230331x10q.htm",
      "contextRef": "Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfDebtTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R26": {
     "firstAnchor": {
      "ancestors": [
       "us-gaap:FairValueDisclosuresTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "bld-20230331x10q.htm",
      "contextRef": "Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:FairValueLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "30603 - Disclosure - Fair Value Measurements (Tables)",
     "menuCat": "Tables",
     "order": "26",
     "role": "http://www.topbuild.com/role/DisclosureFairValueMeasurementsTables",
     "shortName": "Fair Value Measurements (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "us-gaap:FairValueDisclosuresTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "bld-20230331x10q.htm",
      "contextRef": "Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:FairValueLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R27": {
     "firstAnchor": {
      "ancestors": [
       "us-gaap:SegmentReportingDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "bld-20230331x10q.htm",
      "contextRef": "Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfSegmentReportingInformationBySegmentTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "30703 - Disclosure - Segment Information (Tables)",
     "menuCat": "Tables",
     "order": "27",
     "role": "http://www.topbuild.com/role/DisclosureSegmentInformationTables",
     "shortName": "Segment Information (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "us-gaap:SegmentReportingDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "bld-20230331x10q.htm",
      "contextRef": "Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfSegmentReportingInformationBySegmentTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R28": {
     "firstAnchor": {
      "ancestors": [
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "bld-20230331x10q.htm",
      "contextRef": "Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "30903 - Disclosure - Net Income Per Share (Tables)",
     "menuCat": "Tables",
     "order": "28",
     "role": "http://www.topbuild.com/role/DisclosureNetIncomePerShareTables",
     "shortName": "Net Income Per Share (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "bld-20230331x10q.htm",
      "contextRef": "Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R29": {
     "firstAnchor": {
      "ancestors": [
       "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "bld-20230331x10q.htm",
      "contextRef": "Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "bld:ScheduleOfShareBasedCompensationExpenseTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "31003 - Disclosure - Share-Based Compensation (Tables)",
     "menuCat": "Tables",
     "order": "29",
     "role": "http://www.topbuild.com/role/DisclosureShareBasedCompensationTables",
     "shortName": "Share-Based Compensation (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "bld-20230331x10q.htm",
      "contextRef": "Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "bld:ScheduleOfShareBasedCompensationExpenseTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R3": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "bld-20230331x10q.htm",
      "contextRef": "As_Of_3_31_2023_if5iG1tra0aH_pegPPBopw",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw",
      "xsiNil": "false"
     },
     "groupType": "statement",
     "isDefault": "false",
     "longName": "00105 - Statement - CONDENSED CONSOLIDATED BALANCE SHEETS (Parenthetical)",
     "menuCat": "Statements",
     "order": "3",
     "role": "http://www.topbuild.com/role/StatementCondensedConsolidatedBalanceSheetsParenthetical",
     "shortName": "CONDENSED CONSOLIDATED BALANCE SHEETS (Parenthetical)",
     "subGroupType": "parenthetical",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "bld-20230331x10q.htm",
      "contextRef": "As_Of_3_31_2023_if5iG1tra0aH_pegPPBopw",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw",
      "xsiNil": "false"
     }
    },
    "R30": {
     "firstAnchor": {
      "ancestors": [
       "us-gaap:BusinessCombinationDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "bld-20230331x10q.htm",
      "contextRef": "Duration_1_1_2023_To_3_31_2023_us-gaap_BusinessAcquisitionAxis_bld_Acquisitions2022Member_1QXhCc_AR0OBZkhKxfgkNw",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfBusinessAcquisitionsByAcquisitionTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "31103 - Disclosure - Business Combinations (Tables)",
     "menuCat": "Tables",
     "order": "30",
     "role": "http://www.topbuild.com/role/DisclosureBusinessCombinationsTables",
     "shortName": "Business Combinations (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "us-gaap:BusinessCombinationDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "bld-20230331x10q.htm",
      "contextRef": "Duration_1_1_2023_To_3_31_2023_us-gaap_BusinessAcquisitionAxis_bld_Acquisitions2022Member_1QXhCc_AR0OBZkhKxfgkNw",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfBusinessAcquisitionsByAcquisitionTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R31": {
     "firstAnchor": {
      "ancestors": [
       "bld:AccruedLiabilitiesDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "bld-20230331x10q.htm",
      "contextRef": "Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfAccruedLiabilitiesTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "31203 - Disclosure - Accrued Liabilities (Tables)",
     "menuCat": "Tables",
     "order": "31",
     "role": "http://www.topbuild.com/role/DisclosureAccruedLiabilitiesTables",
     "shortName": "Accrued Liabilities (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "bld:AccruedLiabilitiesDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "bld-20230331x10q.htm",
      "contextRef": "Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfAccruedLiabilitiesTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R32": {
     "firstAnchor": {
      "ancestors": [
       "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "bld-20230331x10q.htm",
      "contextRef": "Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "bld:BondsOutstandingTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "31303 - Disclosure - Other Commitments and Contingencies (Tables)",
     "menuCat": "Tables",
     "order": "32",
     "role": "http://www.topbuild.com/role/DisclosureOtherCommitmentsAndContingenciesTables",
     "shortName": "Other Commitments and Contingencies (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "bld-20230331x10q.htm",
      "contextRef": "Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "bld:BondsOutstandingTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R33": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "us-gaap:BusinessDescriptionAndBasisOfPresentationTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "bld-20230331x10q.htm",
      "contextRef": "Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA",
      "decimals": "INF",
      "first": true,
      "lang": null,
      "name": "us-gaap:NumberOfReportableSegments",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_segment_HCZxDtsxZkOWPezqk_jBvQ",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "40101 - Disclosure - Basis of Presentation (Details)",
     "menuCat": "Details",
     "order": "33",
     "role": "http://www.topbuild.com/role/DisclosureBasisOfPresentationDetails",
     "shortName": "Basis of Presentation (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "us-gaap:BusinessDescriptionAndBasisOfPresentationTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "bld-20230331x10q.htm",
      "contextRef": "Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA",
      "decimals": "INF",
      "first": true,
      "lang": null,
      "name": "us-gaap:NumberOfReportableSegments",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_segment_HCZxDtsxZkOWPezqk_jBvQ",
      "xsiNil": "false"
     }
    },
    "R34": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "bld-20230331x10q.htm",
      "contextRef": "Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax",
      "reportCount": 1,
      "unitRef": "Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "40301 - Disclosure - Revenue Recognition - Disaggregation (Details)",
     "menuCat": "Details",
     "order": "34",
     "role": "http://www.topbuild.com/role/DisclosureRevenueRecognitionDisaggregationDetails",
     "shortName": "Revenue Recognition - Disaggregation (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:DisaggregationOfRevenueTableTextBlock",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "bld-20230331x10q.htm",
      "contextRef": "Duration_1_1_2023_To_3_31_2023_srt_ProductOrServiceAxis_bld_InsulationAndAccessoriesMember_L5LZUP6RMEGnhSJNnaUp1A",
      "decimals": "-3",
      "lang": null,
      "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw",
      "xsiNil": "false"
     }
    },
    "R35": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfAccruedLiabilitiesTableTextBlock",
       "bld:AccruedLiabilitiesDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "bld-20230331x10q.htm",
      "contextRef": "As_Of_3_31_2023_if5iG1tra0aH_pegPPBopw",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:ContractWithCustomerLiabilityCurrent",
      "reportCount": 1,
      "unitRef": "Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "40302 - Disclosure - Revenue Recognition - Other (Details)",
     "menuCat": "Details",
     "order": "35",
     "role": "http://www.topbuild.com/role/DisclosureRevenueRecognitionOtherDetails",
     "shortName": "Revenue Recognition - Other (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "p",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "bld-20230331x10q.htm",
      "contextRef": "As_Of_3_31_2023_if5iG1tra0aH_pegPPBopw",
      "decimals": "-5",
      "lang": null,
      "name": "us-gaap:RevenueRemainingPerformanceObligation",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw",
      "xsiNil": "false"
     }
    },
    "R36": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "bld-20230331x10q.htm",
      "contextRef": "Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA",
      "decimals": "INF",
      "first": true,
      "lang": null,
      "name": "us-gaap:NumberOfReportingUnits",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_item_GJgK42ZUUEmNd0DcF3veSw",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "40401 - Disclosure - Goodwill and Other Intangibles - Goodwill (Details)",
     "menuCat": "Details",
     "order": "36",
     "role": "http://www.topbuild.com/role/DisclosureGoodwillAndOtherIntangiblesGoodwillDetails",
     "shortName": "Goodwill and Other Intangibles - Goodwill (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "bld-20230331x10q.htm",
      "contextRef": "Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA",
      "decimals": "INF",
      "first": true,
      "lang": null,
      "name": "us-gaap:NumberOfReportingUnits",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_item_GJgK42ZUUEmNd0DcF3veSw",
      "xsiNil": "false"
     }
    },
    "R37": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseTableTextBlock",
       "bld:ScheduleOfAcquiredFiniteLivedAndIndefiniteLivedIntangibleAssetTableTextBlock",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "bld-20230331x10q.htm",
      "contextRef": "As_Of_3_31_2023_if5iG1tra0aH_pegPPBopw",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:FiniteLivedIntangibleAssetsGross",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "40402 - Disclosure - Goodwill and Other Intangibles - Other intangible assets (Details)",
     "menuCat": "Details",
     "order": "37",
     "role": "http://www.topbuild.com/role/DisclosureGoodwillAndOtherIntangiblesOtherIntangibleAssetsDetails",
     "shortName": "Goodwill and Other Intangibles - Other intangible assets (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseTableTextBlock",
       "bld:ScheduleOfAcquiredFiniteLivedAndIndefiniteLivedIntangibleAssetTableTextBlock",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "bld-20230331x10q.htm",
      "contextRef": "As_Of_3_31_2023_if5iG1tra0aH_pegPPBopw",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:FiniteLivedIntangibleAssetsGross",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw",
      "xsiNil": "false"
     }
    },
    "R38": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfMaturitiesOfLongTermDebtTableTextBlock",
       "us-gaap:LongTermDebtTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "bld-20230331x10q.htm",
      "contextRef": "As_Of_3_31_2023_if5iG1tra0aH_pegPPBopw",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:DebtInstrumentCarryingAmount",
      "reportCount": 1,
      "unitRef": "Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "40501 - Disclosure - Long-Term Debt - Reconciliation (Details)",
     "menuCat": "Details",
     "order": "38",
     "role": "http://www.topbuild.com/role/DisclosureLongTermDebtReconciliationDetails",
     "shortName": "Long-Term Debt - Reconciliation (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfDebtTableTextBlock",
       "us-gaap:LongTermDebtTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "bld-20230331x10q.htm",
      "contextRef": "As_Of_3_31_2023_if5iG1tra0aH_pegPPBopw",
      "decimals": "-3",
      "lang": null,
      "name": "us-gaap:DeferredFinanceCostsNet",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw",
      "xsiNil": "false"
     }
    },
    "R39": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfMaturitiesOfLongTermDebtTableTextBlock",
       "us-gaap:LongTermDebtTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "bld-20230331x10q.htm",
      "contextRef": "As_Of_3_31_2023_if5iG1tra0aH_pegPPBopw",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalRemainderOfFiscalYear",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "40502 - Disclosure - Long-Term Debt - Schedule of debt maturity (Details)",
     "menuCat": "Details",
     "order": "39",
     "role": "http://www.topbuild.com/role/DisclosureLongTermDebtScheduleOfDebtMaturityDetails",
     "shortName": "Long-Term Debt - Schedule of debt maturity (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfMaturitiesOfLongTermDebtTableTextBlock",
       "us-gaap:LongTermDebtTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "bld-20230331x10q.htm",
      "contextRef": "As_Of_3_31_2023_if5iG1tra0aH_pegPPBopw",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalRemainderOfFiscalYear",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw",
      "xsiNil": "false"
     }
    },
    "R4": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "bld-20230331x10q.htm",
      "contextRef": "Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax",
      "reportCount": 1,
      "unitRef": "Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw",
      "xsiNil": "false"
     },
     "groupType": "statement",
     "isDefault": "false",
     "longName": "00200 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF OPERATIONS",
     "menuCat": "Statements",
     "order": "4",
     "role": "http://www.topbuild.com/role/StatementCondensedConsolidatedStatementsOfOperations",
     "shortName": "CONDENSED CONSOLIDATED STATEMENTS OF OPERATIONS",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "bld-20230331x10q.htm",
      "contextRef": "Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA",
      "decimals": "-3",
      "lang": null,
      "name": "us-gaap:CostOfGoodsAndServicesSold",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw",
      "xsiNil": "false"
     }
    },
    "R40": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "bld:ScheduleOfAvailabilityUnderRevolvingFacilityTableTextBlock",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "bld-20230331x10q.htm",
      "contextRef": "As_Of_3_31_2023_us-gaap_ShortTermDebtTypeAxis_us-gaap_RevolvingCreditFacilityMember_sKkpc3fQb0-OaFzOj3p_hw",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity",
      "reportCount": 1,
      "unitRef": "Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "40503 - Disclosure - Long-Term Debt - Key Terms of Credit Agreement (Details)",
     "menuCat": "Details",
     "order": "40",
     "role": "http://www.topbuild.com/role/DisclosureLongTermDebtKeyTermsOfCreditAgreementDetails",
     "shortName": "Long-Term Debt - Key Terms of Credit Agreement (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "bld:SummaryOfKeyTermsOfCreditAgreementTableTextBlock",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "bld-20230331x10q.htm",
      "contextRef": "As_Of_3_31_2023_us-gaap_DebtInstrumentAxis_bld_AmendedCreditAgreementDecember2022Member_1yTqinL9CUu7K_P14w9w4w",
      "decimals": "-3",
      "lang": null,
      "name": "bld:LineOfCreditFacilityAdditionalBorrowingCapacityDelayedDraw",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw",
      "xsiNil": "false"
     }
    },
    "R41": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "bld:ScheduleOfAvailabilityUnderRevolvingFacilityTableTextBlock",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "bld-20230331x10q.htm",
      "contextRef": "As_Of_3_31_2023_us-gaap_ShortTermDebtTypeAxis_us-gaap_RevolvingCreditFacilityMember_sKkpc3fQb0-OaFzOj3p_hw",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity",
      "reportCount": 1,
      "unitRef": "Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "40504 - Disclosure - Long-Term Debt - Revolving Facility (Details)",
     "menuCat": "Details",
     "order": "41",
     "role": "http://www.topbuild.com/role/DisclosureLongTermDebtRevolvingFacilityDetails",
     "shortName": "Long-Term Debt - Revolving Facility (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "bld:ScheduleOfAvailabilityUnderRevolvingFacilityTableTextBlock",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "bld-20230331x10q.htm",
      "contextRef": "As_Of_3_31_2023_us-gaap_ShortTermDebtTypeAxis_us-gaap_RevolvingCreditFacilityMember_sKkpc3fQb0-OaFzOj3p_hw",
      "decimals": "-3",
      "lang": null,
      "name": "us-gaap:LettersOfCreditOutstandingAmount",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw",
      "xsiNil": "false"
     }
    },
    "R42": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfDebtTableTextBlock",
       "us-gaap:LongTermDebtTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "bld-20230331x10q.htm",
      "contextRef": "As_Of_3_31_2023_if5iG1tra0aH_pegPPBopw",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:LongTermDebt",
      "reportCount": 1,
      "unitRef": "Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "40505 - Disclosure - Long-Term Debt - Senior Notes and Equipment Notes (Details)",
     "menuCat": "Details",
     "order": "42",
     "role": "http://www.topbuild.com/role/DisclosureLongTermDebtSeniorNotesAndEquipmentNotesDetails",
     "shortName": "Long-Term Debt - Senior Notes and Equipment Notes (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "bld-20230331x10q.htm",
      "contextRef": "Duration_1_1_2023_To_3_31_2023_srt_StatementScenarioAxis_bld_DebtInstrumentRedemptionOptionTwoMember_us-gaap_DebtInstrumentRedemptionPeriodAxis_us-gaap_DebtInstrumentRedemptionPeriodOneMember_gYS1QElbA06_C_hcxzcVwg",
      "decimals": "5",
      "lang": null,
      "name": "us-gaap:DebtInstrumentRedemptionPricePercentage",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_pure_AMt-SnY1f0Gk50TcxvjL4w",
      "xsiNil": "false"
     }
    },
    "R43": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "bld:ScheduleOfKeyFinancialCovenantsTableTextBlock",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "bld-20230331x10q.htm",
      "contextRef": "Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA",
      "decimals": "2",
      "first": true,
      "lang": null,
      "name": "bld:DebtInstrumentCovenantNetLeverageRatio",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_pure_AMt-SnY1f0Gk50TcxvjL4w",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "40506 - Disclosure - Long-Term Debt - Other (Details)",
     "menuCat": "Details",
     "order": "43",
     "role": "http://www.topbuild.com/role/DisclosureLongTermDebtOtherDetails",
     "shortName": "Long-Term Debt - Other (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "bld:ScheduleOfKeyFinancialCovenantsTableTextBlock",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "bld-20230331x10q.htm",
      "contextRef": "Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA",
      "decimals": "2",
      "first": true,
      "lang": null,
      "name": "bld:DebtInstrumentCovenantNetLeverageRatio",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_pure_AMt-SnY1f0Gk50TcxvjL4w",
      "xsiNil": "false"
     }
    },
    "R44": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfMaturitiesOfLongTermDebtTableTextBlock",
       "us-gaap:LongTermDebtTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "bld-20230331x10q.htm",
      "contextRef": "As_Of_3_31_2023_if5iG1tra0aH_pegPPBopw",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:DebtInstrumentCarryingAmount",
      "reportCount": 1,
      "unitRef": "Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "40601 - Disclosure - Fair Value Measurements (Details)",
     "menuCat": "Details",
     "order": "44",
     "role": "http://www.topbuild.com/role/DisclosureFairValueMeasurementsDetails",
     "shortName": "Fair Value Measurements (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:FairValueLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTableTextBlock",
       "us-gaap:FairValueDisclosuresTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "bld-20230331x10q.htm",
      "contextRef": "As_Of_3_31_2023_us-gaap_DebtInstrumentAxis_bld_SeniorNotesDue2029Member_DOM61O-9RkadksBpNLIELQ",
      "decimals": "-3",
      "lang": null,
      "name": "us-gaap:DebtInstrumentCarryingAmount",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw",
      "xsiNil": "false"
     }
    },
    "R45": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "bld-20230331x10q.htm",
      "contextRef": "Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax",
      "reportCount": 1,
      "unitRef": "Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "40701 - Disclosure - Segment Information (Details)",
     "menuCat": "Details",
     "order": "45",
     "role": "http://www.topbuild.com/role/DisclosureSegmentInformationDetails",
     "shortName": "Segment Information (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfSegmentReportingInformationBySegmentTextBlock",
       "us-gaap:SegmentReportingDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "bld-20230331x10q.htm",
      "contextRef": "Duration_1_1_2023_To_3_31_2023_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_e6Vbhcmha0OvoC_c8bkFFg",
      "decimals": "-3",
      "lang": null,
      "name": "us-gaap:OperatingIncomeLoss",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw",
      "xsiNil": "false"
     }
    },
    "R46": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "p",
       "us-gaap:IncomeTaxDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "bld-20230331x10q.htm",
      "contextRef": "Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA",
      "decimals": "3",
      "first": true,
      "lang": null,
      "name": "us-gaap:EffectiveIncomeTaxRateContinuingOperations",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_pure_AMt-SnY1f0Gk50TcxvjL4w",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "40801 - Disclosure - Income Taxes (Details)",
     "menuCat": "Details",
     "order": "46",
     "role": "http://www.topbuild.com/role/DisclosureIncomeTaxesDetails",
     "shortName": "Income Taxes (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "p",
       "us-gaap:IncomeTaxDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "bld-20230331x10q.htm",
      "contextRef": "Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA",
      "decimals": "3",
      "first": true,
      "lang": null,
      "name": "us-gaap:EffectiveIncomeTaxRateContinuingOperations",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_pure_AMt-SnY1f0Gk50TcxvjL4w",
      "xsiNil": "false"
     }
    },
    "R47": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "bld-20230331x10q.htm",
      "contextRef": "Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:NetIncomeLoss",
      "reportCount": 1,
      "unitRef": "Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "40901 - Disclosure - Net Income Per Share - Calculation (Details)",
     "menuCat": "Details",
     "order": "47",
     "role": "http://www.topbuild.com/role/DisclosureNetIncomePerShareCalculationDetails",
     "shortName": "Net Income Per Share - Calculation (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "bld-20230331x10q.htm",
      "contextRef": "Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA",
      "decimals": "INF",
      "lang": null,
      "name": "bld:IncrementalCommonSharesAttributableToDilutiveEffectOfStockOptions",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_shares_eiECwuXP0kO6JM1Li4xT6g",
      "xsiNil": "false"
     }
    },
    "R48": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "bld-20230331x10q.htm",
      "contextRef": "Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA",
      "decimals": "INF",
      "first": true,
      "lang": null,
      "name": "us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_shares_eiECwuXP0kO6JM1Li4xT6g",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "40902 - Disclosure - Net Income Per Share - Anti-dilutive common stock equivalents (Details)",
     "menuCat": "Details",
     "order": "48",
     "role": "http://www.topbuild.com/role/DisclosureNetIncomePerShareAntiDilutiveCommonStockEquivalentsDetails",
     "shortName": "Net Income Per Share - Anti-dilutive common stock equivalents (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "bld-20230331x10q.htm",
      "contextRef": "Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA",
      "decimals": "INF",
      "first": true,
      "lang": null,
      "name": "us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_shares_eiECwuXP0kO6JM1Li4xT6g",
      "xsiNil": "false"
     }
    },
    "R49": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "bld:ScheduleOfShareBasedCompensationExpenseTableTextBlock",
       "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "bld-20230331x10q.htm",
      "contextRef": "Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:AllocatedShareBasedCompensationExpense",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "41001 - Disclosure - Share-Based Compensation - Expense (Details)",
     "menuCat": "Details",
     "order": "49",
     "role": "http://www.topbuild.com/role/DisclosureShareBasedCompensationExpenseDetails",
     "shortName": "Share-Based Compensation - Expense (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "bld:ScheduleOfShareBasedCompensationExpenseTableTextBlock",
       "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "bld-20230331x10q.htm",
      "contextRef": "Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:AllocatedShareBasedCompensationExpense",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw",
      "xsiNil": "false"
     }
    },
    "R5": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "bld-20230331x10q.htm",
      "contextRef": "Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:NetIncomeLoss",
      "reportCount": 1,
      "unitRef": "Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw",
      "xsiNil": "false"
     },
     "groupType": "statement",
     "isDefault": "false",
     "longName": "00300 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF COMPREHENSIVE INCOME",
     "menuCat": "Statements",
     "order": "5",
     "role": "http://www.topbuild.com/role/StatementCondensedConsolidatedStatementsOfComprehensiveIncome",
     "shortName": "CONDENSED CONSOLIDATED STATEMENTS OF COMPREHENSIVE INCOME",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "bld-20230331x10q.htm",
      "contextRef": "Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA",
      "decimals": "-3",
      "lang": null,
      "name": "us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw",
      "xsiNil": "false"
     }
    },
    "R50": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "bld-20230331x10q.htm",
      "contextRef": "Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA",
      "decimals": "INF",
      "first": true,
      "lang": null,
      "name": "us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised",
      "reportCount": 1,
      "unitRef": "Unit_Standard_shares_eiECwuXP0kO6JM1Li4xT6g",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "41002 - Disclosure - Share-Based Compensation - Activity (Details)",
     "menuCat": "Details",
     "order": "50",
     "role": "http://www.topbuild.com/role/DisclosureShareBasedCompensationActivityDetails",
     "shortName": "Share-Based Compensation - Activity (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfShareBasedCompensationActivityTableTextBlock",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "bld-20230331x10q.htm",
      "contextRef": "Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA",
      "decimals": null,
      "lang": "en-US",
      "name": "us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageRemainingContractualTerm1",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R51": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "us-gaap:BusinessCombinationDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "bld-20230331x10q.htm",
      "contextRef": "Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA",
      "decimals": "-5",
      "first": true,
      "lang": null,
      "name": "us-gaap:BusinessCombinationAcquisitionRelatedCosts",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "41101 - Disclosure - Business Combinations - Summary (Details)",
     "menuCat": "Details",
     "order": "51",
     "role": "http://www.topbuild.com/role/DisclosureBusinessCombinationsSummaryDetails",
     "shortName": "Business Combinations - Summary (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "us-gaap:BusinessCombinationDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "bld-20230331x10q.htm",
      "contextRef": "Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA",
      "decimals": "-5",
      "first": true,
      "lang": null,
      "name": "us-gaap:BusinessCombinationAcquisitionRelatedCosts",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw",
      "xsiNil": "false"
     }
    },
    "R52": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfAccruedLiabilitiesTableTextBlock",
       "bld:AccruedLiabilitiesDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "bld-20230331x10q.htm",
      "contextRef": "As_Of_3_31_2023_if5iG1tra0aH_pegPPBopw",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:EmployeeRelatedLiabilitiesCurrent",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "41301 - Disclosure - Accrued Liabilities (Details)",
     "menuCat": "Details",
     "order": "52",
     "role": "http://www.topbuild.com/role/DisclosureAccruedLiabilitiesDetails",
     "shortName": "Accrued Liabilities (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfAccruedLiabilitiesTableTextBlock",
       "bld:AccruedLiabilitiesDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "bld-20230331x10q.htm",
      "contextRef": "As_Of_3_31_2023_if5iG1tra0aH_pegPPBopw",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:EmployeeRelatedLiabilitiesCurrent",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw",
      "xsiNil": "false"
     }
    },
    "R53": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "bld:BondsOutstandingTableTextBlock",
       "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "bld-20230331x10q.htm",
      "contextRef": "As_Of_3_31_2023_if5iG1tra0aH_pegPPBopw",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "bld:PerformanceBondsOutstanding",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "41401 - Disclosure - Other Commitments and Contingencies (Details)",
     "menuCat": "Details",
     "order": "53",
     "role": "http://www.topbuild.com/role/DisclosureOtherCommitmentsAndContingenciesDetails",
     "shortName": "Other Commitments and Contingencies (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "bld:BondsOutstandingTableTextBlock",
       "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "bld-20230331x10q.htm",
      "contextRef": "As_Of_3_31_2023_if5iG1tra0aH_pegPPBopw",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "bld:PerformanceBondsOutstanding",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw",
      "xsiNil": "false"
     }
    },
    "R6": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "bld-20230331x10q.htm",
      "contextRef": "Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:ProfitLoss",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw",
      "xsiNil": "false"
     },
     "groupType": "statement",
     "isDefault": "false",
     "longName": "00400 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF CASH FLOWS",
     "menuCat": "Statements",
     "order": "6",
     "role": "http://www.topbuild.com/role/StatementCondensedConsolidatedStatementsOfCashFlows",
     "shortName": "CONDENSED CONSOLIDATED STATEMENTS OF CASH FLOWS",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "bld-20230331x10q.htm",
      "contextRef": "Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:ProfitLoss",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw",
      "xsiNil": "false"
     }
    },
    "R7": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "bld-20230331x10q.htm",
      "contextRef": "As_Of_12_31_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_K4Q3DjveCEiH0sBuPGCPDQ",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:StockholdersEquity",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw",
      "xsiNil": "false"
     },
     "groupType": "statement",
     "isDefault": "false",
     "longName": "00500 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF CHANGES IN EQUITY",
     "menuCat": "Statements",
     "order": "7",
     "role": "http://www.topbuild.com/role/StatementCondensedConsolidatedStatementsOfChangesInEquity",
     "shortName": "CONDENSED CONSOLIDATED STATEMENTS OF CHANGES IN EQUITY",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "bld-20230331x10q.htm",
      "contextRef": "As_Of_12_31_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_K4Q3DjveCEiH0sBuPGCPDQ",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:StockholdersEquity",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_gFHo_YLzqkKxmZ2OQ45rrw",
      "xsiNil": "false"
     }
    },
    "R8": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "bld-20230331x10q.htm",
      "contextRef": "As_Of_3_31_2023_if5iG1tra0aH_pegPPBopw",
      "decimals": "INF",
      "first": true,
      "lang": null,
      "name": "us-gaap:CommonStockParOrStatedValuePerShare",
      "reportCount": 1,
      "unitRef": "Unit_Divide_USD_shares_imdDf3-8d0qa5ZDAI6M6QA",
      "xsiNil": "false"
     },
     "groupType": "statement",
     "isDefault": "false",
     "longName": "00505 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF CHANGES IN EQUITY (Parenthetical)",
     "menuCat": "Statements",
     "order": "8",
     "role": "http://www.topbuild.com/role/StatementCondensedConsolidatedStatementsOfChangesInEquityParenthetical",
     "shortName": "CONDENSED CONSOLIDATED STATEMENTS OF CHANGES IN EQUITY (Parenthetical)",
     "subGroupType": "parenthetical",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "bld-20230331x10q.htm",
      "contextRef": "Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA",
      "decimals": "INF",
      "lang": null,
      "name": "us-gaap:StockIssuedDuringPeriodSharesRestrictedStockAwardGross",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_shares_eiECwuXP0kO6JM1Li4xT6g",
      "xsiNil": "false"
     }
    },
    "R9": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "bld-20230331x10q.htm",
      "contextRef": "Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:BusinessDescriptionAndBasisOfPresentationTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "10101 - Disclosure - Basis of Presentation",
     "menuCat": "Notes",
     "order": "9",
     "role": "http://www.topbuild.com/role/DisclosureBasisOfPresentation",
     "shortName": "Basis of Presentation",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "bld-20230331x10q.htm",
      "contextRef": "Duration_1_1_2023_To_3_31_2023_c59ReyDnC06O10OQj5_4JA",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:BusinessDescriptionAndBasisOfPresentationTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    }
   },
   "segmentCount": 64,
   "tag": {
    "bld_AccruedCustomerRebatesCurrent": {
     "auth_ref": [],
     "calculation": {
      "http://www.topbuild.com/role/DisclosureAccruedLiabilitiesDetails": {
       "order": 5.0,
       "parentTag": "bld_AccruedLiabilitiesAndEmployeeRelatedLiabilitiesCurrent",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Total of the carrying values as of the balance sheet date of obligations incurred through that date and payable for obligations for customer rebates. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).",
        "label": "Accrued Customer Rebates, Current",
        "terseLabel": "Customer rebates"
       }
      }
     },
     "localname": "AccruedCustomerRebatesCurrent",
     "nsuri": "http://www.topbuild.com/20230331",
     "presentation": [
      "http://www.topbuild.com/role/DisclosureAccruedLiabilitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "bld_AccruedLiabilitiesAndEmployeeRelatedLiabilitiesCurrent": {
     "auth_ref": [],
     "calculation": {
      "http://www.topbuild.com/role/DisclosureAccruedLiabilitiesDetails": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      },
      "http://www.topbuild.com/role/StatementCondensedConsolidatedBalanceSheets": {
       "order": 4.0,
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Carrying value as of the balance sheet date of obligations incurred and payable, pertaining to costs that are statutory in nature, are incurred on contractual obligations, or accumulate over time and for which invoices have not yet been received or will not be rendered. Also includes the total of the carrying values as of the balance sheet date of obligations incurred through that date and payable for obligations related to services received from employees, such as accrued salaries and bonuses, payroll taxes and fringe benefits. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).",
        "label": "Accrued Liabilities and Employee-related Liabilities, Current",
        "terseLabel": "Accrued liabilities",
        "totalLabel": "Total accrued liabilities"
       }
      }
     },
     "localname": "AccruedLiabilitiesAndEmployeeRelatedLiabilitiesCurrent",
     "nsuri": "http://www.topbuild.com/20230331",
     "presentation": [
      "http://www.topbuild.com/role/DisclosureAccruedLiabilitiesDetails",
      "http://www.topbuild.com/role/StatementCondensedConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "bld_AccruedLiabilitiesDisclosureTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for accrued liabilities at the end of the reporting period.",
        "label": "Accrued Liabilities Disclosure [Text Block]",
        "terseLabel": "Accrued Liabilities"
       }
      }
     },
     "localname": "AccruedLiabilitiesDisclosureTextBlock",
     "nsuri": "http://www.topbuild.com/20230331",
     "presentation": [
      "http://www.topbuild.com/role/DisclosureAccruedLiabilities"
     ],
     "xbrltype": "textBlockItemType"
    },
    "bld_AccruedSalesAndPropertyTaxesCurrent": {
     "auth_ref": [],
     "calculation": {
      "http://www.topbuild.com/role/DisclosureAccruedLiabilitiesDetails": {
       "order": 3.0,
       "parentTag": "bld_AccruedLiabilitiesAndEmployeeRelatedLiabilitiesCurrent",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Total of the carrying values as of the balance sheet date of obligations incurred through that date and payable for obligations for sales and property taxes. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).",
        "label": "Accrued Sales and Property Taxes, Current",
        "terseLabel": "Sales and property taxes"
       }
      }
     },
     "localname": "AccruedSalesAndPropertyTaxesCurrent",
     "nsuri": "http://www.topbuild.com/20230331",
     "presentation": [
      "http://www.topbuild.com/role/DisclosureAccruedLiabilitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "bld_Acquisitions2022Member": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents information pertaining to 2022 acquisitions.",
        "label": "2022 Acquisitions"
       }
      }
     },
     "localname": "Acquisitions2022Member",
     "nsuri": "http://www.topbuild.com/20230331",
     "presentation": [
      "http://www.topbuild.com/role/DisclosureBusinessCombinationsSummaryDetails",
      "http://www.topbuild.com/role/DisclosureBusinessCombinationsTables"
     ],
     "xbrltype": "domainItemType"
    },
    "bld_AllOtherProductsMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents in aggregate all other product categories.",
        "label": "All other"
       }
      }
     },
     "localname": "AllOtherProductsMember",
     "nsuri": "http://www.topbuild.com/20230331",
     "presentation": [
      "http://www.topbuild.com/role/DisclosureRevenueRecognitionDisaggregationDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "bld_AmendedCreditAgreementDecember2022Member": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information pertaining to Amendment No. 3 to the original credit agreement, entered into December 2022.",
        "label": "Credit Agreement"
       }
      }
     },
     "localname": "AmendedCreditAgreementDecember2022Member",
     "nsuri": "http://www.topbuild.com/20230331",
     "presentation": [
      "http://www.topbuild.com/role/DisclosureLongTermDebtKeyTermsOfCreditAgreementDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "bld_BaseRateBorrowingsMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents information regarding Base Rate borrowings.",
        "label": "Base Rate Borrowings"
       }
      }
     },
     "localname": "BaseRateBorrowingsMember",
     "nsuri": "http://www.topbuild.com/20230331",
     "presentation": [
      "http://www.topbuild.com/role/DisclosureLongTermDebtKeyTermsOfCreditAgreementDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "bld_BillingsInsulationServiceInc.Member": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information pertaining to Billings Insulation Service, Inc.",
        "label": "Billings"
       }
      }
     },
     "localname": "BillingsInsulationServiceInc.Member",
     "nsuri": "http://www.topbuild.com/20230331",
     "presentation": [
      "http://www.topbuild.com/role/DisclosureBusinessCombinationsSummaryDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "bld_BondsOutstanding": {
     "auth_ref": [],
     "calculation": {
      "http://www.topbuild.com/role/DisclosureOtherCommitmentsAndContingenciesDetails": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The amount of bonds outstanding at the end of the reporting period.",
        "label": "Bonds Outstanding",
        "totalLabel": "Total bonds"
       }
      }
     },
     "localname": "BondsOutstanding",
     "nsuri": "http://www.topbuild.com/20230331",
     "presentation": [
      "http://www.topbuild.com/role/DisclosureOtherCommitmentsAndContingenciesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "bld_BondsOutstandingTableTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of information about bonds outstanding.",
        "label": "Bonds Outstanding [Table Text Block]",
        "terseLabel": "Summary of outstanding bonds"
       }
      }
     },
     "localname": "BondsOutstandingTableTextBlock",
     "nsuri": "http://www.topbuild.com/20230331",
     "presentation": [
      "http://www.topbuild.com/role/DisclosureOtherCommitmentsAndContingenciesTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "bld_ChangeInControlScenarioMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The scenario representing a change in control.",
        "label": "Change in Control Scenario"
       }
      }
     },
     "localname": "ChangeInControlScenarioMember",
     "nsuri": "http://www.topbuild.com/20230331",
     "presentation": [
      "http://www.topbuild.com/role/DisclosureLongTermDebtSeniorNotesAndEquipmentNotesDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "bld_CommercialAndIndustrialMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information pertaining to the commercial and industrial market.",
        "label": "Commercial and Industrial"
       }
      }
     },
     "localname": "CommercialAndIndustrialMember",
     "nsuri": "http://www.topbuild.com/20230331",
     "presentation": [
      "http://www.topbuild.com/role/DisclosureRevenueRecognitionDisaggregationDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "bld_DebitInstrumentApplicableMarginBasedOnTotalLeverageRatio": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the applicable margin based on the total leverage ratio per the terms of the credit agreement.",
        "label": "Debit Instrument Applicable Margin Based on Total Leverage Ratio",
        "terseLabel": "Applicable margin based on total leverage ratio"
       }
      }
     },
     "localname": "DebitInstrumentApplicableMarginBasedOnTotalLeverageRatio",
     "nsuri": "http://www.topbuild.com/20230331",
     "presentation": [
      "http://www.topbuild.com/role/DisclosureLongTermDebtKeyTermsOfCreditAgreementDetails",
      "http://www.topbuild.com/role/DisclosureLongTermDebtSeniorNotesAndEquipmentNotesDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "bld_DebtInstrumentConditionalRedemptionThresholdPercentageOfAggregatePrincipalAmountOriginallyIssuedRemainsOutstanding": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Threshold percentage of aggregate principal amount of the debt instrument originally issued should remain outstanding after redemption under the debt instrument arrangement.",
        "label": "Debt Instrument, Conditional Redemption, Threshold Percentage Of Aggregate Principal Amount Originally Issued Remains Outstanding",
        "terseLabel": "Debt instrument, conditional redemption, threshold percentage of aggregate principal amount originally issued remains outstanding"
       }
      }
     },
     "localname": "DebtInstrumentConditionalRedemptionThresholdPercentageOfAggregatePrincipalAmountOriginallyIssuedRemainsOutstanding",
     "nsuri": "http://www.topbuild.com/20230331",
     "presentation": [
      "http://www.topbuild.com/role/DisclosureLongTermDebtKeyTermsOfCreditAgreementDetails",
      "http://www.topbuild.com/role/DisclosureLongTermDebtSeniorNotesAndEquipmentNotesDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "bld_DebtInstrumentCovenantMinimumInterestCoverageRatio": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the minimum interest coverage ratio allowed under the terms of the credit agreement's covenants.",
        "label": "Debt Instrument Covenant Minimum Interest Coverage Ratio",
        "terseLabel": "Minimum Interest Coverage Ratio"
       }
      }
     },
     "localname": "DebtInstrumentCovenantMinimumInterestCoverageRatio",
     "nsuri": "http://www.topbuild.com/20230331",
     "presentation": [
      "http://www.topbuild.com/role/DisclosureLongTermDebtOtherDetails"
     ],
     "xbrltype": "pureItemType"
    },
    "bld_DebtInstrumentCovenantNetLeverageRatio": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the ratio of total debt (less certain cash) to consolidated adjusted earnings before, interest, taxes, depreciation and amortization allowed under the terms of the credit agreement's covenants.",
        "label": "Debt Instrument Covenant Net Leverage Ratio",
        "terseLabel": "Maximum Net Leverage Ratio"
       }
      }
     },
     "localname": "DebtInstrumentCovenantNetLeverageRatio",
     "nsuri": "http://www.topbuild.com/20230331",
     "presentation": [
      "http://www.topbuild.com/role/DisclosureLongTermDebtOtherDetails"
     ],
     "xbrltype": "pureItemType"
    },
    "bld_DebtInstrumentInterestRatePercentageFloor": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The debt instrument percentage rate floor.",
        "label": "Debt Instrument Interest Rate Percentage, Floor",
        "terseLabel": "Interest rate floor (as a percent)"
       }
      }
     },
     "localname": "DebtInstrumentInterestRatePercentageFloor",
     "nsuri": "http://www.topbuild.com/20230331",
     "presentation": [
      "http://www.topbuild.com/role/DisclosureLongTermDebtKeyTermsOfCreditAgreementDetails",
      "http://www.topbuild.com/role/DisclosureLongTermDebtSeniorNotesAndEquipmentNotesDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "bld_DebtInstrumentRedemptionOptionOneMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents information pertaining to debt instrument redemption option one.",
        "label": "Debt Instrument Redemption Option One"
       }
      }
     },
     "localname": "DebtInstrumentRedemptionOptionOneMember",
     "nsuri": "http://www.topbuild.com/20230331",
     "presentation": [
      "http://www.topbuild.com/role/DisclosureLongTermDebtSeniorNotesAndEquipmentNotesDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "bld_DebtInstrumentRedemptionOptionTwoMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents information pertaining to debt instrument redemption option two.",
        "label": "Debt Instrument Redemption Option Two"
       }
      }
     },
     "localname": "DebtInstrumentRedemptionOptionTwoMember",
     "nsuri": "http://www.topbuild.com/20230331",
     "presentation": [
      "http://www.topbuild.com/role/DisclosureLongTermDebtSeniorNotesAndEquipmentNotesDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "bld_DebtInstrumentRedemptionPeriodSevenMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Period seven representing debt redemption features under terms of the debt agreement.",
        "label": "Prior to October 15, 2024"
       }
      }
     },
     "localname": "DebtInstrumentRedemptionPeriodSevenMember",
     "nsuri": "http://www.topbuild.com/20230331",
     "presentation": [
      "http://www.topbuild.com/role/DisclosureLongTermDebtSeniorNotesAndEquipmentNotesDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "bld_DebtInstrumentRedemptionPeriodSixMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Period six representing debt redemption features under terms of the debt agreement.",
        "label": "Prior to October 15, 2026"
       }
      }
     },
     "localname": "DebtInstrumentRedemptionPeriodSixMember",
     "nsuri": "http://www.topbuild.com/20230331",
     "presentation": [
      "http://www.topbuild.com/role/DisclosureLongTermDebtSeniorNotesAndEquipmentNotesDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "bld_DebtInstrumentRedemptionPriceBasisSpreadOnTreasuryRate": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Percentage points added to the reference rate to compute the redemption price of the debt instrument.",
        "label": "Debt Instrument, Redemption Price, Basis Spread on Treasury Rate",
        "terseLabel": "Basis spread on treasury rate"
       }
      }
     },
     "localname": "DebtInstrumentRedemptionPriceBasisSpreadOnTreasuryRate",
     "nsuri": "http://www.topbuild.com/20230331",
     "presentation": [
      "http://www.topbuild.com/role/DisclosureLongTermDebtKeyTermsOfCreditAgreementDetails",
      "http://www.topbuild.com/role/DisclosureLongTermDebtSeniorNotesAndEquipmentNotesDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "bld_DebtInstrumentReferenceRateMaturityPeriod": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The maturity of the reference rate.",
        "label": "Debt Instrument Reference Rate Maturity Period",
        "terseLabel": "Maturity of the reference rate"
       }
      }
     },
     "localname": "DebtInstrumentReferenceRateMaturityPeriod",
     "nsuri": "http://www.topbuild.com/20230331",
     "presentation": [
      "http://www.topbuild.com/role/DisclosureLongTermDebtKeyTermsOfCreditAgreementDetails",
      "http://www.topbuild.com/role/DisclosureLongTermDebtSeniorNotesAndEquipmentNotesDetails"
     ],
     "xbrltype": "durationItemType"
    },
    "bld_DistributionSegmentMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the distribution segment of the reporting entity.",
        "label": "Specialty Distribution"
       }
      }
     },
     "localname": "DistributionSegmentMember",
     "nsuri": "http://www.topbuild.com/20230331",
     "presentation": [
      "http://www.topbuild.com/role/DisclosureGoodwillAndOtherIntangiblesGoodwillDetails",
      "http://www.topbuild.com/role/DisclosureRevenueRecognitionDisaggregationDetails",
      "http://www.topbuild.com/role/DisclosureSegmentInformationDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "bld_EliminationsAndReconcilingItemsMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Eliminating entries used in operating segment consolidation and Items used in reconciling reportable segments' amounts to consolidated amount.",
        "label": "Eliminations"
       }
      }
     },
     "localname": "EliminationsAndReconcilingItemsMember",
     "nsuri": "http://www.topbuild.com/20230331",
     "presentation": [
      "http://www.topbuild.com/role/DisclosureRevenueRecognitionDisaggregationDetails",
      "http://www.topbuild.com/role/DisclosureSegmentInformationDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "bld_EquipmentNotesMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information relating to equipment notes executed under a Master Loan and Security Agreement with Banc of America Leasing &amp;amp; Capital, LLC.",
        "label": "Equipment Notes"
       }
      }
     },
     "localname": "EquipmentNotesMember",
     "nsuri": "http://www.topbuild.com/20230331",
     "presentation": [
      "http://www.topbuild.com/role/DisclosureLongTermDebtReconciliationDetails",
      "http://www.topbuild.com/role/DisclosureLongTermDebtScheduleOfDebtMaturityDetails",
      "http://www.topbuild.com/role/DisclosureLongTermDebtSeniorNotesAndEquipmentNotesDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "bld_EventOfDefaultScenarioMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The scenario representing an event of default.",
        "label": "Event of Default Scenario"
       }
      }
     },
     "localname": "EventOfDefaultScenarioMember",
     "nsuri": "http://www.topbuild.com/20230331",
     "presentation": [
      "http://www.topbuild.com/role/DisclosureLongTermDebtOtherDetails",
      "http://www.topbuild.com/role/DisclosureLongTermDebtRevolvingFacilityDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "bld_FederalFundsRateMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The federal funds rate.",
        "label": "Federal Funds Rate"
       }
      }
     },
     "localname": "FederalFundsRateMember",
     "nsuri": "http://www.topbuild.com/20230331",
     "presentation": [
      "http://www.topbuild.com/role/DisclosureLongTermDebtKeyTermsOfCreditAgreementDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "bld_GlassAndWindowsMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents information pertaining to glass and windows product category.",
        "label": "Glass and windows"
       }
      }
     },
     "localname": "GlassAndWindowsMember",
     "nsuri": "http://www.topbuild.com/20230331",
     "presentation": [
      "http://www.topbuild.com/role/DisclosureRevenueRecognitionDisaggregationDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "bld_IncrementalCommonSharesAttributableToDilutiveEffectOfRestrictedStockAwards": {
     "auth_ref": [],
     "calculation": {
      "http://www.topbuild.com/role/DisclosureNetIncomePerShareCalculationDetails": {
       "order": 2.0,
       "parentTag": "us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding",
       "weight": 1.0
      }
     },
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Additional shares included in the calculation of diluted EPS as a result of the potentially dilutive effect of restricted stock awards using the treasury stock method.",
        "label": "Incremental Common Shares Attributable to Dilutive Effect of Restricted Stock Awards",
        "terseLabel": "Restricted stock awards"
       }
      }
     },
     "localname": "IncrementalCommonSharesAttributableToDilutiveEffectOfRestrictedStockAwards",
     "nsuri": "http://www.topbuild.com/20230331",
     "presentation": [
      "http://www.topbuild.com/role/DisclosureNetIncomePerShareCalculationDetails"
     ],
     "xbrltype": "sharesItemType"
    },
    "bld_IncrementalCommonSharesAttributableToDilutiveEffectOfStockOptions": {
     "auth_ref": [],
     "calculation": {
      "http://www.topbuild.com/role/DisclosureNetIncomePerShareCalculationDetails": {
       "order": 3.0,
       "parentTag": "us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding",
       "weight": 1.0
      }
     },
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Additional shares included in the calculation of diluted EPS as a result of the potentially dilutive effect of stock options using the treasury stock method.",
        "label": "Incremental Common Shares Attributable to Dilutive Effect of Stock Options",
        "terseLabel": "Stock options"
       }
      }
     },
     "localname": "IncrementalCommonSharesAttributableToDilutiveEffectOfStockOptions",
     "nsuri": "http://www.topbuild.com/20230331",
     "presentation": [
      "http://www.topbuild.com/role/DisclosureNetIncomePerShareCalculationDetails"
     ],
     "xbrltype": "sharesItemType"
    },
    "bld_InstallationSegmentMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the installation segment of the reporting entity.",
        "label": "Installation"
       }
      }
     },
     "localname": "InstallationSegmentMember",
     "nsuri": "http://www.topbuild.com/20230331",
     "presentation": [
      "http://www.topbuild.com/role/DisclosureGoodwillAndOtherIntangiblesGoodwillDetails",
      "http://www.topbuild.com/role/DisclosureRevenueRecognitionDisaggregationDetails",
      "http://www.topbuild.com/role/DisclosureSegmentInformationDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "bld_InsulationAndAccessoriesMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the information pertaining to the insulation and accessories product.",
        "label": "Insulation and accessories"
       }
      }
     },
     "localname": "InsulationAndAccessoriesMember",
     "nsuri": "http://www.topbuild.com/20230331",
     "presentation": [
      "http://www.topbuild.com/role/DisclosureRevenueRecognitionDisaggregationDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "bld_LicenseAndInsuranceRelatedAndOtherBondsOutstanding": {
     "auth_ref": [],
     "calculation": {
      "http://www.topbuild.com/role/DisclosureOtherCommitmentsAndContingenciesDetails": {
       "order": 1.0,
       "parentTag": "bld_BondsOutstanding",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the amount of other type of bonds outstanding, principally license and insurance related.",
        "label": "License and Insurance Related And Other Bonds Outstanding",
        "terseLabel": "Licensing, insurance, and other bonds"
       }
      }
     },
     "localname": "LicenseAndInsuranceRelatedAndOtherBondsOutstanding",
     "nsuri": "http://www.topbuild.com/20230331",
     "presentation": [
      "http://www.topbuild.com/role/DisclosureOtherCommitmentsAndContingenciesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "bld_LineOfCreditFacilityAdditionalBorrowingCapacityAvailableSubjectToCertainConditions": {
     "auth_ref": [],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the additional borrowing capacity available, subject to certain conditions.",
        "label": "Line of Credit Facility Additional Borrowing Capacity Available Subject to Certain Conditions",
        "verboseLabel": "Additional term loan and/or revolver capacity available under incremental facility"
       }
      }
     },
     "localname": "LineOfCreditFacilityAdditionalBorrowingCapacityAvailableSubjectToCertainConditions",
     "nsuri": "http://www.topbuild.com/20230331",
     "presentation": [
      "http://www.topbuild.com/role/DisclosureLongTermDebtKeyTermsOfCreditAgreementDetails",
      "http://www.topbuild.com/role/DisclosureLongTermDebtSeniorNotesAndEquipmentNotesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "bld_LineOfCreditFacilityAdditionalBorrowingCapacityDelayedDraw": {
     "auth_ref": [],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The additional borrowing capacity available through delayed draw feature.",
        "label": "Line of Credit Facility Additional Borrowing Capacity Delayed Draw",
        "terseLabel": "Additional delayed draw term loan"
       }
      }
     },
     "localname": "LineOfCreditFacilityAdditionalBorrowingCapacityDelayedDraw",
     "nsuri": "http://www.topbuild.com/20230331",
     "presentation": [
      "http://www.topbuild.com/role/DisclosureLongTermDebtKeyTermsOfCreditAgreementDetails",
      "http://www.topbuild.com/role/DisclosureLongTermDebtSeniorNotesAndEquipmentNotesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "bld_LineOfCreditFacilitySublimitAvailableForLettersOfCredit": {
     "auth_ref": [],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the sublimit available for the issuance of letters of credit under the credit facility.",
        "label": "Line of Credit Facility Sublimit Available for Letters of Credit",
        "verboseLabel": "Sublimit for issuance of letters of credit under Revolving Facility*"
       }
      }
     },
     "localname": "LineOfCreditFacilitySublimitAvailableForLettersOfCredit",
     "nsuri": "http://www.topbuild.com/20230331",
     "presentation": [
      "http://www.topbuild.com/role/DisclosureLongTermDebtKeyTermsOfCreditAgreementDetails",
      "http://www.topbuild.com/role/DisclosureLongTermDebtSeniorNotesAndEquipmentNotesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "bld_LineOfCreditFacilitySublimitAvailableForSwinglineLoans": {
     "auth_ref": [],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the sublimit available for swingline loans under the credit facility.",
        "label": "Line of Credit Facility Sublimit Available for Swingline Loans",
        "verboseLabel": "Sublimit for swingline loans under Revolving Facility*"
       }
      }
     },
     "localname": "LineOfCreditFacilitySublimitAvailableForSwinglineLoans",
     "nsuri": "http://www.topbuild.com/20230331",
     "presentation": [
      "http://www.topbuild.com/role/DisclosureLongTermDebtKeyTermsOfCreditAgreementDetails",
      "http://www.topbuild.com/role/DisclosureLongTermDebtSeniorNotesAndEquipmentNotesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "bld_LongTermDebtMaturitiesRepaymentsOfPrincipalAfterYearFour": {
     "auth_ref": [],
     "calculation": {
      "http://www.topbuild.com/role/DisclosureLongTermDebtScheduleOfDebtMaturityDetails": {
       "order": 5.0,
       "parentTag": "us-gaap_DebtInstrumentCarryingAmount",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of long-term debt payable, sinking fund requirement, and other securities issued that are redeemable by holder at fixed or determinable price and date, maturing after fourth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).",
        "label": "Long-term Debt, Maturities, Repayments of Principal after Year Four",
        "terseLabel": "Thereafter"
       }
      }
     },
     "localname": "LongTermDebtMaturitiesRepaymentsOfPrincipalAfterYearFour",
     "nsuri": "http://www.topbuild.com/20230331",
     "presentation": [
      "http://www.topbuild.com/role/DisclosureLongTermDebtScheduleOfDebtMaturityDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "bld_LongTermIncentivePlanMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents information related to the 2015 plan.",
        "label": "2015 Plan"
       }
      }
     },
     "localname": "LongTermIncentivePlanMember",
     "nsuri": "http://www.topbuild.com/20230331",
     "presentation": [
      "http://www.topbuild.com/role/DisclosureShareBasedCompensationExpenseDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "bld_MinimumPercentageOfDebtImmediatelyDueAndPayable": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The percentage of debtholders needed to declare outstanding principal and accrued interest, if any, immediately due and payable upon an event of default.",
        "label": "Minimum Percentage of Debt Immediately Due and Payable",
        "terseLabel": "Minimum percentage of principal of debt holders to declare debt immediately due and payable"
       }
      }
     },
     "localname": "MinimumPercentageOfDebtImmediatelyDueAndPayable",
     "nsuri": "http://www.topbuild.com/20230331",
     "presentation": [
      "http://www.topbuild.com/role/DisclosureLongTermDebtOtherDetails",
      "http://www.topbuild.com/role/DisclosureLongTermDebtRevolvingFacilityDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "bld_OutstandingBondsAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "No definition available.",
        "label": "Outstanding Bonds [Abstract]",
        "terseLabel": "Outstanding Bonds"
       }
      }
     },
     "localname": "OutstandingBondsAbstract",
     "nsuri": "http://www.topbuild.com/20230331",
     "presentation": [
      "http://www.topbuild.com/role/DisclosureOtherCommitmentsAndContingenciesDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "bld_PerformanceBondsOutstanding": {
     "auth_ref": [],
     "calculation": {
      "http://www.topbuild.com/role/DisclosureOtherCommitmentsAndContingenciesDetails": {
       "order": 2.0,
       "parentTag": "bld_BondsOutstanding",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the amount of performance bonds outstanding.",
        "label": "Performance Bonds Outstanding",
        "terseLabel": "Performance bonds"
       }
      }
     },
     "localname": "PerformanceBondsOutstanding",
     "nsuri": "http://www.topbuild.com/20230331",
     "presentation": [
      "http://www.topbuild.com/role/DisclosureOtherCommitmentsAndContingenciesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "bld_RainGuttersMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the information pertaining to Rain gutter product.",
        "label": "Gutters"
       }
      }
     },
     "localname": "RainGuttersMember",
     "nsuri": "http://www.topbuild.com/20230331",
     "presentation": [
      "http://www.topbuild.com/role/DisclosureRevenueRecognitionDisaggregationDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "bld_ReceivablesNetMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Due from customers or clients for goods or services that have been delivered or sold, net of allowance for doubtful accounts.",
        "label": "Receivables, net"
       }
      }
     },
     "localname": "ReceivablesNetMember",
     "nsuri": "http://www.topbuild.com/20230331",
     "presentation": [
      "http://www.topbuild.com/role/DisclosureRevenueRecognitionOtherDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "bld_ResidentialMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information pertaining to the residential market.",
        "label": "Residential"
       }
      }
     },
     "localname": "ResidentialMember",
     "nsuri": "http://www.topbuild.com/20230331",
     "presentation": [
      "http://www.topbuild.com/role/DisclosureRevenueRecognitionDisaggregationDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "bld_RestrictedStockAwardsGrantedFebruary2020Member": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information pertaining to restricted stock awards granted on February 17, 2020.",
        "label": "RSAs granted February 17, 2020"
       }
      }
     },
     "localname": "RestrictedStockAwardsGrantedFebruary2020Member",
     "nsuri": "http://www.topbuild.com/20230331",
     "presentation": [
      "http://www.topbuild.com/role/DisclosureShareBasedCompensationActivityDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "bld_ScheduleOfAcquiredFiniteLivedAndIndefiniteLivedIntangibleAssetTableTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of finite lived and indefinite lived intangible assets.",
        "label": "Schedule of Acquired Finite-Lived and Indefinite-Lived Intangible Asset [Table Text Block]",
        "terseLabel": "Schedule of other intangible assets"
       }
      }
     },
     "localname": "ScheduleOfAcquiredFiniteLivedAndIndefiniteLivedIntangibleAssetTableTextBlock",
     "nsuri": "http://www.topbuild.com/20230331",
     "presentation": [
      "http://www.topbuild.com/role/DisclosureGoodwillAndOtherIntangiblesTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "bld_ScheduleOfAvailabilityUnderRevolvingFacilityTableTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents tabular information about the availability under the Revolving Facility.",
        "label": "Schedule of Availability Under Revolving Facility [Table Text Block]",
        "terseLabel": "Schedule of availability under the Revolving Facility"
       }
      }
     },
     "localname": "ScheduleOfAvailabilityUnderRevolvingFacilityTableTextBlock",
     "nsuri": "http://www.topbuild.com/20230331",
     "presentation": [
      "http://www.topbuild.com/role/DisclosureLongTermDebtTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "bld_ScheduleOfKeyFinancialCovenantsTableTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents tabular information about the key financial covenants.",
        "label": "Schedule of Key Financial Covenants [Table Text Block]",
        "terseLabel": "Schedule of the key financial covenants"
       }
      }
     },
     "localname": "ScheduleOfKeyFinancialCovenantsTableTextBlock",
     "nsuri": "http://www.topbuild.com/20230331",
     "presentation": [
      "http://www.topbuild.com/role/DisclosureLongTermDebtTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "bld_ScheduleOfShareBasedCompensationExpenseTableTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of share-based compensation expense.",
        "label": "Schedule Of Share Based Compensation Expense Table Text Block",
        "terseLabel": "Schedule of share-based compensation expense and related income tax benefit"
       }
      }
     },
     "localname": "ScheduleOfShareBasedCompensationExpenseTableTextBlock",
     "nsuri": "http://www.topbuild.com/20230331",
     "presentation": [
      "http://www.topbuild.com/role/DisclosureShareBasedCompensationTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "bld_ScheduleOfShareBasedPaymentAwardOtherThanOptionsValuationAssumptionsTableTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of the significant assumptions used during the year to estimate the fair value of awards, other than options, including, but not limited to: (a) expected term, (b) expected volatility of the entity's shares, (c) expected dividends, (d) risk-free rate(s), and (e) discount for post-vesting restrictions.",
        "label": "Schedule of Share-based Payment Award, Other Than Options, Valuation Assumptions [Table Text Block]",
        "terseLabel": "Schedule of key inputs used to estimate the fair value of awards"
       }
      }
     },
     "localname": "ScheduleOfShareBasedPaymentAwardOtherThanOptionsValuationAssumptionsTableTextBlock",
     "nsuri": "http://www.topbuild.com/20230331",
     "presentation": [
      "http://www.topbuild.com/role/DisclosureShareBasedCompensationTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "bld_ScheduleOfShareBasedPaymentAwardRestrictedStockAwardsPayoutRangeAndRelatedExpenseTableTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of restricted stock awards with performance-based conditions relating to the grant date fair value, payout range and related expenses.",
        "label": "Schedule of Share-based Payment Award, Restricted Stock Awards, Payout Range and Related Expense [Table Text Block]",
        "terseLabel": "Schedule of the range of payouts and the related expense for RSAs with performance-based conditions"
       }
      }
     },
     "localname": "ScheduleOfShareBasedPaymentAwardRestrictedStockAwardsPayoutRangeAndRelatedExpenseTableTextBlock",
     "nsuri": "http://www.topbuild.com/20230331",
     "presentation": [
      "http://www.topbuild.com/role/DisclosureShareBasedCompensationTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "bld_ScheduleOfUnrecognizedShareBasedCompensationExpenseNonvestedAwards": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of unrecognized share-based compensation expense related to unvested awards.",
        "label": "Schedule of Unrecognized Share-based Compensation Expense, Nonvested Awards",
        "terseLabel": "Schedule of unrecognized share-based compensation expense relating to unvested awards"
       }
      }
     },
     "localname": "ScheduleOfUnrecognizedShareBasedCompensationExpenseNonvestedAwards",
     "nsuri": "http://www.topbuild.com/20230331",
     "presentation": [
      "http://www.topbuild.com/role/DisclosureShareBasedCompensationTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "bld_SeniorNotesDue2029Member": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents information pertaining to the 3.625% Senior Notes due 2029.",
        "label": "3.625% Senior Notes"
       }
      }
     },
     "localname": "SeniorNotesDue2029Member",
     "nsuri": "http://www.topbuild.com/20230331",
     "presentation": [
      "http://www.topbuild.com/role/DisclosureFairValueMeasurementsDetails",
      "http://www.topbuild.com/role/DisclosureLongTermDebtOtherDetails",
      "http://www.topbuild.com/role/DisclosureLongTermDebtReconciliationDetails",
      "http://www.topbuild.com/role/DisclosureLongTermDebtScheduleOfDebtMaturityDetails",
      "http://www.topbuild.com/role/DisclosureLongTermDebtSeniorNotesAndEquipmentNotesDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "bld_SeniorNotesDue2032Member": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents information pertaining to the 4.125% Senior Notes due 2032.",
        "label": "4.125% Senior Notes"
       }
      }
     },
     "localname": "SeniorNotesDue2032Member",
     "nsuri": "http://www.topbuild.com/20230331",
     "presentation": [
      "http://www.topbuild.com/role/DisclosureFairValueMeasurementsDetails",
      "http://www.topbuild.com/role/DisclosureLongTermDebtOtherDetails",
      "http://www.topbuild.com/role/DisclosureLongTermDebtReconciliationDetails",
      "http://www.topbuild.com/role/DisclosureLongTermDebtScheduleOfDebtMaturityDetails",
      "http://www.topbuild.com/role/DisclosureLongTermDebtSeniorNotesAndEquipmentNotesDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsConvertedExercisedInPeriod": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The number of equity-based payment instruments, excluding stock (or unit) options, that were converted/exercised during the reporting period.",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Converted, Exercised in Period",
        "negatedLabel": "Converted/Exercised (in shares)"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsConvertedExercisedInPeriod",
     "nsuri": "http://www.topbuild.com/20230331",
     "presentation": [
      "http://www.topbuild.com/role/DisclosureShareBasedCompensationActivityDetails"
     ],
     "xbrltype": "sharesItemType"
    },
    "bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsConvertedExercisedWeightedAverageGrantDateFairValue": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Weighted average fair value as of the grant date of equity-based award plans other than stock (unit) option plans that were converted/exercised.",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Converted, Exercised, Weighted Average Grant Date Fair Value",
        "terseLabel": "Converted/Exercised (in dollars per share)"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsConvertedExercisedWeightedAverageGrantDateFairValue",
     "nsuri": "http://www.topbuild.com/20230331",
     "presentation": [
      "http://www.topbuild.com/role/DisclosureShareBasedCompensationActivityDetails"
     ],
     "xbrltype": "perShareItemType"
    },
    "bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedOrExpiredInPeriod": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The number of equity-based payment instruments, excluding stock (or unit) options, that were forfeited or expired during the reporting period.",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Forfeited or Expired in Period",
        "negatedLabel": "Forfeited/Expired (in shares)"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedOrExpiredInPeriod",
     "nsuri": "http://www.topbuild.com/20230331",
     "presentation": [
      "http://www.topbuild.com/role/DisclosureShareBasedCompensationActivityDetails"
     ],
     "xbrltype": "sharesItemType"
    },
    "bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedOrExpiredWeightedAverageGrantDateFairValue": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Weighted average fair value as of the grant date of equity-based award plans other than stock (unit) option plans that were forfeited or expired.",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Forfeited or Expired, Weighted Average Grant Date Fair Value",
        "terseLabel": "Forfeited/Expired (in dollars per share)"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedOrExpiredWeightedAverageGrantDateFairValue",
     "nsuri": "http://www.topbuild.com/20230331",
     "presentation": [
      "http://www.topbuild.com/role/DisclosureShareBasedCompensationActivityDetails"
     ],
     "xbrltype": "perShareItemType"
    },
    "bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsEstimatedFairValueOfAwardsGranted": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the estimated fair value of the awards granted.",
        "label": "Share Based Compensation Arrangement By Share Based Payment Award Fair Value Assumptions Estimated Fair Value Of Awards Granted",
        "verboseLabel": "Estimated fair value of market-based RSAs at grant date (in dollars per share)"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsEstimatedFairValueOfAwardsGranted",
     "nsuri": "http://www.topbuild.com/20230331",
     "presentation": [
      "http://www.topbuild.com/role/DisclosureShareBasedCompensationActivityDetails"
     ],
     "xbrltype": "perShareItemType"
    },
    "bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRemainingMeasurementPeriod": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The remaining measurement period of share-based compensation awards, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days.",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Fair Value Assumptions, Remaining Measurement Period",
        "terseLabel": "Measurement period (years)"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRemainingMeasurementPeriod",
     "nsuri": "http://www.topbuild.com/20230331",
     "presentation": [
      "http://www.topbuild.com/role/DisclosureShareBasedCompensationActivityDetails"
     ],
     "xbrltype": "durationItemType"
    },
    "bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsConvertedExercisedWeightedAverageGrantDateFairValue": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Weighted average grant-date fair value of options converted/exercised.",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Converted, Exercised, Weighted Average Grant Date Fair Value",
        "terseLabel": "Converted/Exercised (in dollars per share)"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsConvertedExercisedWeightedAverageGrantDateFairValue",
     "nsuri": "http://www.topbuild.com/20230331",
     "presentation": [
      "http://www.topbuild.com/role/DisclosureShareBasedCompensationActivityDetails"
     ],
     "xbrltype": "perShareItemType"
    },
    "bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageGrantDateFairValue": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the Share Based Compensation Arrangement By Share Based Payment Award Options Exercisable Weighted Average Grant Date Fair Value.",
        "label": "Share Based Compensation Arrangement By Share Based Payment Award Options Exercisable Weighted Average Grant Date Fair Value",
        "terseLabel": "Exercisable, Weighted Average Grant Date Fair Value Per Share"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageGrantDateFairValue",
     "nsuri": "http://www.topbuild.com/20230331",
     "presentation": [
      "http://www.topbuild.com/role/DisclosureShareBasedCompensationActivityDetails"
     ],
     "xbrltype": "perShareItemType"
    },
    "bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardOtherThanOptionsGrantsCumulativePeriodOfAchievement": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The cumulative period of achievement related to restricted stock awards with performance conditions.",
        "label": "Share-based Compensation Arrangement By Share-based Payment Award Other Than Options Grants, Cumulative Period of Achievement",
        "terseLabel": "Cumulative period of achievement"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOtherThanOptionsGrantsCumulativePeriodOfAchievement",
     "nsuri": "http://www.topbuild.com/20230331",
     "presentation": [
      "http://www.topbuild.com/role/DisclosureShareBasedCompensationActivityDetails"
     ],
     "xbrltype": "durationItemType"
    },
    "bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardOtherThanOptionsGrantsCumulativePeriodOfAchievementPercentage": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The cumulative three-year achievement percentage related to the restricted stock awards with performance conditions.",
        "label": "Share-based Compensation Arrangement By Share-based Payment Award Other Than Options Grants, Cumulative Period of Achievement Percentage",
        "terseLabel": "Cumulative achievement percentage"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOtherThanOptionsGrantsCumulativePeriodOfAchievementPercentage",
     "nsuri": "http://www.topbuild.com/20230331",
     "presentation": [
      "http://www.topbuild.com/role/DisclosureShareBasedCompensationActivityDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardOtherThanOptionsGrantsInPeriodTotalGrantDateFairValue": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the total fair value of equity-based awards, other then options, granted during the reporting period.",
        "label": "Share Based Compensation Arrangement By Share Based Payment Award Other Than Options Grants In Period Total Grant Date Fair Value",
        "terseLabel": "Grant date fair value"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOtherThanOptionsGrantsInPeriodTotalGrantDateFairValue",
     "nsuri": "http://www.topbuild.com/20230331",
     "presentation": [
      "http://www.topbuild.com/role/DisclosureShareBasedCompensationActivityDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardOtherThanOptionsGrantsTotalCompensationExpenseRecognizedOverPerformancePeriod": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The total compensation expense recognized over the performance period, net of forfeitures, related to the restricted stock awards with performance conditions.",
        "label": "Share-based Compensation Arrangement By Share-based Payment Award Other Than Options Grants, Total Compensation Expense Recognized Over Performance Period",
        "terseLabel": "Total compensation expense recognized over the performance period, net of forfeitures"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOtherThanOptionsGrantsTotalCompensationExpenseRecognizedOverPerformancePeriod",
     "nsuri": "http://www.topbuild.com/20230331",
     "presentation": [
      "http://www.topbuild.com/role/DisclosureShareBasedCompensationActivityDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeAxis": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information relating to payout ranges of the share-based compensation awards.",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award Payout Range [Axis]"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeAxis",
     "nsuri": "http://www.topbuild.com/20230331",
     "presentation": [
      "http://www.topbuild.com/role/DisclosureShareBasedCompensationActivityDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeDomain": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Identification of the payout ranges of the share-based compensation awards.",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award Payout Range [Domain]"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeDomain",
     "nsuri": "http://www.topbuild.com/20230331",
     "presentation": [
      "http://www.topbuild.com/role/DisclosureShareBasedCompensationActivityDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeFourMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Range four of the payout range related to performance-based awards.",
        "label": "Payout Range-200%"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeFourMember",
     "nsuri": "http://www.topbuild.com/20230331",
     "presentation": [
      "http://www.topbuild.com/role/DisclosureShareBasedCompensationActivityDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeOneMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Range one of the payout range related to performance-based awards.",
        "label": "Payout Range-0%"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeOneMember",
     "nsuri": "http://www.topbuild.com/20230331",
     "presentation": [
      "http://www.topbuild.com/role/DisclosureShareBasedCompensationActivityDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangePercentage": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The payout range expressed as a percentage of the grant date fair value related to performance-based awards.",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Payout Range Percentage",
        "terseLabel": "Payout range (as a percent)"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangePercentage",
     "nsuri": "http://www.topbuild.com/20230331",
     "presentation": [
      "http://www.topbuild.com/role/DisclosureShareBasedCompensationActivityDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeRelatedExpenses": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The compensation expense based on the payout range related to performance-based awards.",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Payout Range Related Expenses",
        "terseLabel": "Related expenses"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeRelatedExpenses",
     "nsuri": "http://www.topbuild.com/20230331",
     "presentation": [
      "http://www.topbuild.com/role/DisclosureShareBasedCompensationActivityDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeThreeMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Range three of the payout range related to performance-based awards.",
        "label": "Payout Range-100%"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeThreeMember",
     "nsuri": "http://www.topbuild.com/20230331",
     "presentation": [
      "http://www.topbuild.com/role/DisclosureShareBasedCompensationActivityDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeTwoMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Range two of the payout range related to performance-based awards.",
        "label": "Payout Range-25%"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeTwoMember",
     "nsuri": "http://www.topbuild.com/20230331",
     "presentation": [
      "http://www.topbuild.com/role/DisclosureShareBasedCompensationActivityDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "bld_SofrRateBorrowingsMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents information relating to SOFR rate borrowings.",
        "label": "SOFR Rate Borrowings [Member]",
        "terseLabel": "SOFR Rate Borrowings"
       }
      }
     },
     "localname": "SofrRateBorrowingsMember",
     "nsuri": "http://www.topbuild.com/20230331",
     "presentation": [
      "http://www.topbuild.com/role/DisclosureLongTermDebtKeyTermsOfCreditAgreementDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "bld_SriHoldingsMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents information pertaining to SRI Holdings, LLC.",
        "label": "SRI Holdings"
       }
      }
     },
     "localname": "SriHoldingsMember",
     "nsuri": "http://www.topbuild.com/20230331",
     "presentation": [
      "http://www.topbuild.com/role/DisclosureBusinessCombinationsSummaryDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "bld_SummaryOfKeyTermsOfCreditAgreementTableTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents tabular information about the key terms of the Credit Agreement.",
        "label": "Summary of The Key Terms of Credit Agreement [Table Text Block]",
        "terseLabel": "Summary of key terms of the Credit Agreement"
       }
      }
     },
     "localname": "SummaryOfKeyTermsOfCreditAgreementTableTextBlock",
     "nsuri": "http://www.topbuild.com/20230331",
     "presentation": [
      "http://www.topbuild.com/role/DisclosureLongTermDebtTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "bld_TreasuryStockSharesAcquiredCostMethodShareRepurchaseProgram": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Number of shares that have been repurchased during the period pursuant to the Share Repurchase Program and are being held in treasury.",
        "label": "Treasury Stock Shares Acquired Cost Method Share Repurchase Program",
        "terseLabel": "Repurchase of shares (in shares)"
       }
      }
     },
     "localname": "TreasuryStockSharesAcquiredCostMethodShareRepurchaseProgram",
     "nsuri": "http://www.topbuild.com/20230331",
     "presentation": [
      "http://www.topbuild.com/role/StatementCondensedConsolidatedStatementsOfChangesInEquityParenthetical"
     ],
     "xbrltype": "sharesItemType"
    },
    "bld_TreasuryStockValueAcquiredCostMethodShareRepurchaseProgram": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Equity impact of the cost of common stock that was repurchased during the period pursuant to the Share Repurchase Program.",
        "label": "Treasury Stock, Value, Acquired, Cost Method, Share Repurchase Program",
        "negatedLabel": "Repurchase of shares"
       }
      }
     },
     "localname": "TreasuryStockValueAcquiredCostMethodShareRepurchaseProgram",
     "nsuri": "http://www.topbuild.com/20230331",
     "presentation": [
      "http://www.topbuild.com/role/StatementCondensedConsolidatedStatementsOfChangesInEquity"
     ],
     "xbrltype": "monetaryItemType"
    },
    "bld_VestingBasedOnMarketConditionsMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents a share based compensation award with vesting based on market conditions.",
        "label": "Market-based conditions"
       }
      }
     },
     "localname": "VestingBasedOnMarketConditionsMember",
     "nsuri": "http://www.topbuild.com/20230331",
     "presentation": [
      "http://www.topbuild.com/role/DisclosureNetIncomePerShareAntiDilutiveCommonStockEquivalentsDetails",
      "http://www.topbuild.com/role/DisclosureNetIncomePerShareCalculationDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "bld_VestingBasedOnPerformanceMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents a share based compensation award with vesting based on achievement of performance conditions.",
        "label": "Performance-based conditions"
       }
      }
     },
     "localname": "VestingBasedOnPerformanceMember",
     "nsuri": "http://www.topbuild.com/20230331",
     "presentation": [
      "http://www.topbuild.com/role/DisclosureNetIncomePerShareAntiDilutiveCommonStockEquivalentsDetails",
      "http://www.topbuild.com/role/DisclosureNetIncomePerShareCalculationDetails",
      "http://www.topbuild.com/role/DisclosureShareBasedCompensationActivityDetails",
      "http://www.topbuild.com/role/DisclosureShareBasedCompensationTables"
     ],
     "xbrltype": "domainItemType"
    },
    "bld_VestingBasedOnServiceMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents a share based compensation award with vesting based on length of service.",
        "label": "Service-based conditions"
       }
      }
     },
     "localname": "VestingBasedOnServiceMember",
     "nsuri": "http://www.topbuild.com/20230331",
     "presentation": [
      "http://www.topbuild.com/role/DisclosureNetIncomePerShareAntiDilutiveCommonStockEquivalentsDetails",
      "http://www.topbuild.com/role/DisclosureNetIncomePerShareCalculationDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "bld_VestingCriteriaAxis": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information about the type of vesting for share-based compensation awards.",
        "label": "Vesting Criteria [Axis]"
       }
      }
     },
     "localname": "VestingCriteriaAxis",
     "nsuri": "http://www.topbuild.com/20230331",
     "presentation": [
      "http://www.topbuild.com/role/DisclosureNetIncomePerShareAntiDilutiveCommonStockEquivalentsDetails",
      "http://www.topbuild.com/role/DisclosureNetIncomePerShareCalculationDetails",
      "http://www.topbuild.com/role/DisclosureShareBasedCompensationActivityDetails",
      "http://www.topbuild.com/role/DisclosureShareBasedCompensationTables"
     ],
     "xbrltype": "stringItemType"
    },
    "bld_VestingCriteriaDomain": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The types of vesting specified for share-based compensation awards.",
        "label": "Vesting Criteria [Domain]"
       }
      }
     },
     "localname": "VestingCriteriaDomain",
     "nsuri": "http://www.topbuild.com/20230331",
     "presentation": [
      "http://www.topbuild.com/role/DisclosureNetIncomePerShareAntiDilutiveCommonStockEquivalentsDetails",
      "http://www.topbuild.com/role/DisclosureNetIncomePerShareCalculationDetails",
      "http://www.topbuild.com/role/DisclosureShareBasedCompensationActivityDetails",
      "http://www.topbuild.com/role/DisclosureShareBasedCompensationTables"
     ],
     "xbrltype": "domainItemType"
    },
    "dei_AmendmentFlag": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Boolean flag that is true when the XBRL content amends previously-filed or accepted submission.",
        "label": "Amendment Flag"
       }
      }
     },
     "localname": "AmendmentFlag",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://www.topbuild.com/role/DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_CityAreaCode": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Area code of city",
        "label": "City Area Code"
       }
      }
     },
     "localname": "CityAreaCode",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://www.topbuild.com/role/DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "normalizedStringItemType"
    },
    "dei_CoverAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Cover page.",
        "label": "Cover page."
       }
      }
     },
     "localname": "CoverAbstract",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "xbrltype": "stringItemType"
    },
    "dei_CurrentFiscalYearEndDate": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "End date of current fiscal year in the format --MM-DD.",
        "label": "Current Fiscal Year End Date"
       }
      }
     },
     "localname": "CurrentFiscalYearEndDate",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://www.topbuild.com/role/DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "gMonthDayItemType"
    },
    "dei_DocumentFiscalPeriodFocus": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Fiscal period values are FY, Q1, Q2, and Q3.  1st, 2nd and 3rd quarter 10-Q or 10-QT statements have value Q1, Q2, and Q3 respectively, with 10-K, 10-KT or other fiscal year statements having FY.",
        "label": "Document Fiscal Period Focus"
       }
      }
     },
     "localname": "DocumentFiscalPeriodFocus",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://www.topbuild.com/role/DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "fiscalPeriodItemType"
    },
    "dei_DocumentFiscalYearFocus": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "This is focus fiscal year of the document report in YYYY format. For a 2006 annual report, which may also provide financial information from prior periods, fiscal 2006 should be given as the fiscal year focus. Example: 2006.",
        "label": "Document Fiscal Year Focus"
       }
      }
     },
     "localname": "DocumentFiscalYearFocus",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://www.topbuild.com/role/DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "gYearItemType"
    },
    "dei_DocumentPeriodEndDate": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "For the EDGAR submission types of Form 8-K: the date of the report, the date of the earliest event reported; for the EDGAR submission types of Form N-1A: the filing date; for all other submission types: the end of the reporting or transition period.  The format of the date is YYYY-MM-DD.",
        "label": "Document Period End Date"
       }
      }
     },
     "localname": "DocumentPeriodEndDate",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://www.topbuild.com/role/DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "dateItemType"
    },
    "dei_DocumentQuarterlyReport": {
     "auth_ref": [
      "r484"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Boolean flag that is true only for a form used as an quarterly report.",
        "label": "Document Quarterly Report"
       }
      }
     },
     "localname": "DocumentQuarterlyReport",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://www.topbuild.com/role/DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_DocumentTransitionReport": {
     "auth_ref": [
      "r485"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Boolean flag that is true only for a form used as a transition report.",
        "label": "Document Transition Report"
       }
      }
     },
     "localname": "DocumentTransitionReport",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://www.topbuild.com/role/DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_DocumentType": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The type of document being provided (such as 10-K, 10-Q, 485BPOS, etc). The document type is limited to the same value as the supporting SEC submission type, or the word 'Other'.",
        "label": "Document Type"
       }
      }
     },
     "localname": "DocumentType",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://www.topbuild.com/role/DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "submissionTypeItemType"
    },
    "dei_EntityAddressAddressLine1": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Address Line 1 such as Attn, Building Name, Street Name",
        "label": "Entity Address, Address Line One"
       }
      }
     },
     "localname": "EntityAddressAddressLine1",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://www.topbuild.com/role/DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "normalizedStringItemType"
    },
    "dei_EntityAddressCityOrTown": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Name of the City or Town",
        "label": "Entity Address, City or Town"
       }
      }
     },
     "localname": "EntityAddressCityOrTown",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://www.topbuild.com/role/DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "normalizedStringItemType"
    },
    "dei_EntityAddressPostalZipCode": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Code for the postal or zip code",
        "label": "Entity Address, Postal Zip Code"
       }
      }
     },
     "localname": "EntityAddressPostalZipCode",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://www.topbuild.com/role/DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "normalizedStringItemType"
    },
    "dei_EntityAddressStateOrProvince": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Name of the state or province.",
        "label": "Entity Address, State or Province"
       }
      }
     },
     "localname": "EntityAddressStateOrProvince",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://www.topbuild.com/role/DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "stateOrProvinceItemType"
    },
    "dei_EntityCentralIndexKey": {
     "auth_ref": [
      "r482"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "A unique 10-digit SEC-issued value to identify entities that have filed disclosures with the SEC. It is commonly abbreviated as CIK.",
        "label": "Entity Central Index Key"
       }
      }
     },
     "localname": "EntityCentralIndexKey",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://www.topbuild.com/role/DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "centralIndexKeyItemType"
    },
    "dei_EntityCommonStockSharesOutstanding": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Indicate number of shares or other units outstanding of each of registrant's classes of capital or common stock or other ownership interests, if and as stated on cover of related periodic report. Where multiple classes or units exist define each class/interest by adding class of stock items such as Common Class A [Member], Common Class B [Member] or Partnership Interest [Member] onto the Instrument [Domain] of the Entity Listings, Instrument.",
        "label": "Entity Common Stock, Shares Outstanding"
       }
      }
     },
     "localname": "EntityCommonStockSharesOutstanding",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://www.topbuild.com/role/DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "sharesItemType"
    },
    "dei_EntityCurrentReportingStatus": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Indicate 'Yes' or 'No' whether registrants (1) have filed all reports required to be filed by Section 13 or 15(d) of the Securities Exchange Act of 1934 during the preceding 12 months (or for such shorter period that registrants were required to file such reports), and (2) have been subject to such filing requirements for the past 90 days. This information should be based on the registrant's current or most recent filing containing the related disclosure.",
        "label": "Entity Current Reporting Status"
       }
      }
     },
     "localname": "EntityCurrentReportingStatus",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://www.topbuild.com/role/DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "yesNoItemType"
    },
    "dei_EntityEmergingGrowthCompany": {
     "auth_ref": [
      "r482"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Indicate if registrant meets the emerging growth company criteria.",
        "label": "Entity Emerging Growth Company"
       }
      }
     },
     "localname": "EntityEmergingGrowthCompany",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://www.topbuild.com/role/DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_EntityFileNumber": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Commission file number. The field allows up to 17 characters. The prefix may contain 1-3 digits, the sequence number may contain 1-8 digits, the optional suffix may contain 1-4 characters, and the fields are separated with a hyphen.",
        "label": "Entity File Number"
       }
      }
     },
     "localname": "EntityFileNumber",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://www.topbuild.com/role/DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "fileNumberItemType"
    },
    "dei_EntityFilerCategory": {
     "auth_ref": [
      "r482"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Indicate whether the registrant is one of the following: Large Accelerated Filer, Accelerated Filer, Non-accelerated Filer. Definitions of these categories are stated in Rule 12b-2 of the Exchange Act. This information should be based on the registrant's current or most recent filing containing the related disclosure.",
        "label": "Entity Filer Category"
       }
      }
     },
     "localname": "EntityFilerCategory",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://www.topbuild.com/role/DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "filerCategoryItemType"
    },
    "dei_EntityIncorporationStateCountryCode": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Two-character EDGAR code representing the state or country of incorporation.",
        "label": "Entity Incorporation, State or Country Code"
       }
      }
     },
     "localname": "EntityIncorporationStateCountryCode",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://www.topbuild.com/role/DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "edgarStateCountryItemType"
    },
    "dei_EntityInteractiveDataCurrent": {
     "auth_ref": [
      "r486"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Boolean flag that is true when the registrant has submitted electronically every Interactive Data File required to be submitted pursuant to Rule 405 of Regulation S-T during the preceding 12 months (or for such shorter period that the registrant was required to submit such files).",
        "label": "Entity Interactive Data Current"
       }
      }
     },
     "localname": "EntityInteractiveDataCurrent",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://www.topbuild.com/role/DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "yesNoItemType"
    },
    "dei_EntityRegistrantName": {
     "auth_ref": [
      "r482"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The exact name of the entity filing the report as specified in its charter, which is required by forms filed with the SEC.",
        "label": "Entity Registrant Name"
       }
      }
     },
     "localname": "EntityRegistrantName",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://www.topbuild.com/role/DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "normalizedStringItemType"
    },
    "dei_EntityShellCompany": {
     "auth_ref": [
      "r482"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Boolean flag that is true when the registrant is a shell company as defined in Rule 12b-2 of the Exchange Act.",
        "label": "Entity Shell Company"
       }
      }
     },
     "localname": "EntityShellCompany",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://www.topbuild.com/role/DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_EntitySmallBusiness": {
     "auth_ref": [
      "r482"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Indicates that the company is a Smaller Reporting Company (SRC).",
        "label": "Entity Small Business"
       }
      }
     },
     "localname": "EntitySmallBusiness",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://www.topbuild.com/role/DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_EntityTaxIdentificationNumber": {
     "auth_ref": [
      "r482"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The Tax Identification Number (TIN), also known as an Employer Identification Number (EIN), is a unique 9-digit value assigned by the IRS.",
        "label": "Entity Tax Identification Number"
       }
      }
     },
     "localname": "EntityTaxIdentificationNumber",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://www.topbuild.com/role/DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "employerIdItemType"
    },
    "dei_LocalPhoneNumber": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Local phone number for entity.",
        "label": "Local Phone Number"
       }
      }
     },
     "localname": "LocalPhoneNumber",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://www.topbuild.com/role/DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "normalizedStringItemType"
    },
    "dei_Security12bTitle": {
     "auth_ref": [
      "r481"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Title of a 12(b) registered security.",
        "label": "Title of 12(b) Security"
       }
      }
     },
     "localname": "Security12bTitle",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://www.topbuild.com/role/DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "securityTitleItemType"
    },
    "dei_SecurityExchangeName": {
     "auth_ref": [
      "r483"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Name of the Exchange on which a security is registered.",
        "label": "Security Exchange Name"
       }
      }
     },
     "localname": "SecurityExchangeName",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://www.topbuild.com/role/DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "edgarExchangeCodeItemType"
    },
    "dei_TradingSymbol": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Trading symbol of an instrument as listed on an exchange.",
        "label": "Trading Symbol"
       }
      }
     },
     "localname": "TradingSymbol",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://www.topbuild.com/role/DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "tradingSymbolItemType"
    },
    "srt_ConsolidationItemsAxis": {
     "auth_ref": [
      "r170",
      "r202",
      "r214",
      "r215",
      "r216",
      "r217",
      "r218",
      "r220",
      "r224",
      "r262",
      "r263",
      "r264",
      "r265",
      "r267",
      "r268",
      "r270",
      "r272",
      "r273",
      "r521",
      "r522"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Consolidation Items [Axis]"
       }
      }
     },
     "localname": "ConsolidationItemsAxis",
     "nsuri": "http://fasb.org/srt/2022",
     "presentation": [
      "http://www.topbuild.com/role/DisclosureRevenueRecognitionDisaggregationDetails",
      "http://www.topbuild.com/role/DisclosureSegmentInformationDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "srt_ConsolidationItemsDomain": {
     "auth_ref": [
      "r170",
      "r202",
      "r214",
      "r215",
      "r216",
      "r217",
      "r218",
      "r220",
      "r224",
      "r262",
      "r263",
      "r264",
      "r265",
      "r267",
      "r268",
      "r270",
      "r272",
      "r273",
      "r521",
      "r522"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Consolidation Items [Domain]"
       }
      }
     },
     "localname": "ConsolidationItemsDomain",
     "nsuri": "http://fasb.org/srt/2022",
     "presentation": [
      "http://www.topbuild.com/role/DisclosureRevenueRecognitionDisaggregationDetails",
      "http://www.topbuild.com/role/DisclosureSegmentInformationDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "srt_MajorCustomersAxis": {
     "auth_ref": [
      "r229",
      "r462",
      "r526",
      "r569"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Customer [Axis]"
       }
      }
     },
     "localname": "MajorCustomersAxis",
     "nsuri": "http://fasb.org/srt/2022",
     "presentation": [
      "http://www.topbuild.com/role/DisclosureRevenueRecognitionDisaggregationDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "srt_MaximumMember": {
     "auth_ref": [
      "r258",
      "r259",
      "r260",
      "r261",
      "r321",
      "r423",
      "r438",
      "r446",
      "r447",
      "r459",
      "r472",
      "r480",
      "r523",
      "r562",
      "r563",
      "r564",
      "r565",
      "r566",
      "r567"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Maximum"
       }
      }
     },
     "localname": "MaximumMember",
     "nsuri": "http://fasb.org/srt/2022",
     "presentation": [
      "http://www.topbuild.com/role/DisclosureLongTermDebtKeyTermsOfCreditAgreementDetails",
      "http://www.topbuild.com/role/DisclosureLongTermDebtRevolvingFacilityDetails",
      "http://www.topbuild.com/role/DisclosureLongTermDebtSeniorNotesAndEquipmentNotesDetails",
      "http://www.topbuild.com/role/DisclosureShareBasedCompensationExpenseDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "srt_MinimumMember": {
     "auth_ref": [
      "r258",
      "r259",
      "r260",
      "r261",
      "r321",
      "r423",
      "r438",
      "r446",
      "r447",
      "r459",
      "r472",
      "r480",
      "r523",
      "r562",
      "r563",
      "r564",
      "r565",
      "r566",
      "r567"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Minimum"
       }
      }
     },
     "localname": "MinimumMember",
     "nsuri": "http://fasb.org/srt/2022",
     "presentation": [
      "http://www.topbuild.com/role/DisclosureLongTermDebtKeyTermsOfCreditAgreementDetails",
      "http://www.topbuild.com/role/DisclosureLongTermDebtRevolvingFacilityDetails",
      "http://www.topbuild.com/role/DisclosureLongTermDebtSeniorNotesAndEquipmentNotesDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "srt_NameOfMajorCustomerDomain": {
     "auth_ref": [
      "r229",
      "r462",
      "r526",
      "r569"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Customer [Domain]"
       }
      }
     },
     "localname": "NameOfMajorCustomerDomain",
     "nsuri": "http://fasb.org/srt/2022",
     "presentation": [
      "http://www.topbuild.com/role/DisclosureRevenueRecognitionDisaggregationDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "srt_ProductOrServiceAxis": {
     "auth_ref": [
      "r226",
      "r425",
      "r460",
      "r479",
      "r518",
      "r519",
      "r526",
      "r568"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Products and Services [Axis]"
       }
      }
     },
     "localname": "ProductOrServiceAxis",
     "nsuri": "http://fasb.org/srt/2022",
     "presentation": [
      "http://www.topbuild.com/role/DisclosureRevenueRecognitionDisaggregationDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "srt_ProductsAndServicesDomain": {
     "auth_ref": [
      "r226",
      "r425",
      "r460",
      "r479",
      "r518",
      "r519",
      "r526",
      "r568"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Products and Services [Domain]"
       }
      }
     },
     "localname": "ProductsAndServicesDomain",
     "nsuri": "http://fasb.org/srt/2022",
     "presentation": [
      "http://www.topbuild.com/role/DisclosureRevenueRecognitionDisaggregationDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "srt_RangeAxis": {
     "auth_ref": [
      "r258",
      "r259",
      "r260",
      "r261",
      "r314",
      "r321",
      "r349",
      "r350",
      "r351",
      "r422",
      "r423",
      "r438",
      "r446",
      "r447",
      "r459",
      "r472",
      "r480",
      "r517",
      "r523",
      "r563",
      "r564",
      "r565",
      "r566",
      "r567"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Range [Axis]"
       }
      }
     },
     "localname": "RangeAxis",
     "nsuri": "http://fasb.org/srt/2022",
     "presentation": [
      "http://www.topbuild.com/role/DisclosureLongTermDebtKeyTermsOfCreditAgreementDetails",
      "http://www.topbuild.com/role/DisclosureLongTermDebtRevolvingFacilityDetails",
      "http://www.topbuild.com/role/DisclosureLongTermDebtSeniorNotesAndEquipmentNotesDetails",
      "http://www.topbuild.com/role/DisclosureShareBasedCompensationExpenseDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "srt_RangeMember": {
     "auth_ref": [
      "r258",
      "r259",
      "r260",
      "r261",
      "r314",
      "r321",
      "r349",
      "r350",
      "r351",
      "r422",
      "r423",
      "r438",
      "r446",
      "r447",
      "r459",
      "r472",
      "r480",
      "r517",
      "r523",
      "r563",
      "r564",
      "r565",
      "r566",
      "r567"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Range [Domain]"
       }
      }
     },
     "localname": "RangeMember",
     "nsuri": "http://fasb.org/srt/2022",
     "presentation": [
      "http://www.topbuild.com/role/DisclosureLongTermDebtKeyTermsOfCreditAgreementDetails",
      "http://www.topbuild.com/role/DisclosureLongTermDebtRevolvingFacilityDetails",
      "http://www.topbuild.com/role/DisclosureLongTermDebtSeniorNotesAndEquipmentNotesDetails",
      "http://www.topbuild.com/role/DisclosureShareBasedCompensationExpenseDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "srt_ScenarioUnspecifiedDomain": {
     "auth_ref": [
      "r184",
      "r322",
      "r487",
      "r500"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Scenario, Unspecified [Domain]"
       }
      }
     },
     "localname": "ScenarioUnspecifiedDomain",
     "nsuri": "http://fasb.org/srt/2022",
     "presentation": [
      "http://www.topbuild.com/role/DisclosureLongTermDebtOtherDetails",
      "http://www.topbuild.com/role/DisclosureLongTermDebtRevolvingFacilityDetails",
      "http://www.topbuild.com/role/DisclosureLongTermDebtSeniorNotesAndEquipmentNotesDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "srt_StatementScenarioAxis": {
     "auth_ref": [
      "r184",
      "r322",
      "r487",
      "r488",
      "r500"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Scenario [Axis]"
       }
      }
     },
     "localname": "StatementScenarioAxis",
     "nsuri": "http://fasb.org/srt/2022",
     "presentation": [
      "http://www.topbuild.com/role/DisclosureLongTermDebtOtherDetails",
      "http://www.topbuild.com/role/DisclosureLongTermDebtRevolvingFacilityDetails",
      "http://www.topbuild.com/role/DisclosureLongTermDebtSeniorNotesAndEquipmentNotesDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_AccountingPoliciesAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Accounting Policies"
       }
      }
     },
     "localname": "AccountingPoliciesAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "xbrltype": "stringItemType"
    },
    "us-gaap_AccountsPayableCurrent": {
     "auth_ref": [
      "r11",
      "r478"
     ],
     "calculation": {
      "http://www.topbuild.com/role/StatementCondensedConsolidatedBalanceSheets": {
       "order": 1.0,
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Carrying value as of the balance sheet date of liabilities incurred (and for which invoices have typically been received) and payable to vendors for goods and services received that are used in an entity's business. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).",
        "label": "Accounts Payable, Current",
        "terseLabel": "Accounts payable"
       }
      }
     },
     "localname": "AccountsPayableCurrent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.topbuild.com/role/StatementCondensedConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AccountsReceivableNetCurrent": {
     "auth_ref": [
      "r231",
      "r232"
     ],
     "calculation": {
      "http://www.topbuild.com/role/StatementCondensedConsolidatedBalanceSheets": {
       "order": 1.0,
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount, after allowance for credit loss, of right to consideration from customer for product sold and service rendered in normal course of business, classified as current.",
        "label": "Accounts Receivable, Net, Current",
        "terseLabel": "Receivables, net of an allowance for credit losses of $16,007 at March 31, 2023, and $16,281 at December 31, 2022"
       }
      }
     },
     "localname": "AccountsReceivableNetCurrent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.topbuild.com/role/StatementCondensedConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AccruedIncomeTaxesCurrent": {
     "auth_ref": [
      "r2",
      "r115",
      "r126"
     ],
     "calculation": {
      "http://www.topbuild.com/role/DisclosureAccruedLiabilitiesDetails": {
       "order": 1.0,
       "parentTag": "bld_AccruedLiabilitiesAndEmployeeRelatedLiabilitiesCurrent",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Carrying amount as of the balance sheet date of the unpaid sum of the known and estimated amounts payable to satisfy all currently due domestic and foreign income tax obligations.",
        "label": "Accrued Income Taxes, Current",
        "terseLabel": "Income taxes payable"
       }
      }
     },
     "localname": "AccruedIncomeTaxesCurrent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.topbuild.com/role/DisclosureAccruedLiabilitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AccruedInsuranceCurrent": {
     "auth_ref": [
      "r16"
     ],
     "calculation": {
      "http://www.topbuild.com/role/DisclosureAccruedLiabilitiesDetails": {
       "order": 2.0,
       "parentTag": "bld_AccruedLiabilitiesAndEmployeeRelatedLiabilitiesCurrent",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Carrying value as of the balance sheet date of obligations incurred through that date and payable to insurance entities to mitigate potential loss from various risks or to satisfy a promise to provide certain coverage's to employees. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).",
        "label": "Accrued Insurance, Current",
        "terseLabel": "Insurance liabilities"
       }
      }
     },
     "localname": "AccruedInsuranceCurrent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.topbuild.com/role/DisclosureAccruedLiabilitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AccruedInsuranceNoncurrent": {
     "auth_ref": [
      "r20"
     ],
     "calculation": {
      "http://www.topbuild.com/role/StatementCondensedConsolidatedBalanceSheets": {
       "order": 4.0,
       "parentTag": "us-gaap_Liabilities",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Carrying value as of the balance sheet date of obligations incurred through that date and due beyond one year (or beyond one operating cycle if longer) to insurance entities to mitigate potential loss from various risks or to satisfy a promise to provide certain coverages to employees.",
        "label": "Accrued Insurance, Noncurrent",
        "terseLabel": "Long-term portion of insurance reserves"
       }
      }
     },
     "localname": "AccruedInsuranceNoncurrent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.topbuild.com/role/StatementCondensedConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AccruedLiabilitiesMember": {
     "auth_ref": [
      "r16"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "This item represents obligations incurred and payable, pertaining to costs that are statutory in nature, are incurred on contractual obligations, or accumulate over time and for which invoices have not yet been received or will not be rendered.",
        "label": "Accrued liabilities"
       }
      }
     },
     "localname": "AccruedLiabilitiesMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.topbuild.com/role/DisclosureRevenueRecognitionOtherDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax": {
     "auth_ref": [
      "r26",
      "r27",
      "r28",
      "r145",
      "r433",
      "r443",
      "r444"
     ],
     "calculation": {
      "http://www.topbuild.com/role/StatementCondensedConsolidatedBalanceSheets": {
       "order": 2.0,
       "parentTag": "us-gaap_StockholdersEquity",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Accumulated change in equity from transactions and other events and circumstances from non-owner sources, net of tax effect, at period end. Excludes Net Income (Loss), and accumulated changes in equity from transactions resulting from investments by owners and distributions to owners. Includes foreign currency translation items, certain pension adjustments, unrealized gains and losses on certain investments in debt and equity securities, other than temporary impairment (OTTI) losses related to factors other than credit losses on available-for-sale and held-to-maturity debt securities that an entity does not intend to sell and it is not more likely than not that the entity will be required to sell before recovery of the amortized cost basis, as well as changes in the fair value of derivatives related to the effective portion of a designated cash flow hedge.",
        "label": "Accumulated Other Comprehensive Income (Loss), Net of Tax",
        "terseLabel": "Accumulated other comprehensive loss"
       }
      }
     },
     "localname": "AccumulatedOtherComprehensiveIncomeLossNetOfTax",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.topbuild.com/role/StatementCondensedConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AccumulatedOtherComprehensiveIncomeMember": {
     "auth_ref": [
      "r25",
      "r28",
      "r102",
      "r418",
      "r439",
      "r440",
      "r490",
      "r491",
      "r492",
      "r497",
      "r498",
      "r499"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Accumulated increase (decrease) in equity from transactions and other events and circumstances from non-owner sources, attributable to the parent. Excludes net income (loss), and accumulated changes in equity from transactions resulting from investments by owners and distributions to owners.",
        "label": "Accumulated Other Comprehensive (Loss) Income",
        "terseLabel": "Accumulated Other Comprehensive Income"
       }
      }
     },
     "localname": "AccumulatedOtherComprehensiveIncomeMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.topbuild.com/role/StatementCondensedConsolidatedStatementsOfChangesInEquity"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_AdditionalPaidInCapitalCommonStock": {
     "auth_ref": [
      "r6"
     ],
     "calculation": {
      "http://www.topbuild.com/role/StatementCondensedConsolidatedBalanceSheets": {
       "order": 1.0,
       "parentTag": "us-gaap_StockholdersEquity",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Value received from shareholders in common stock-related transactions that are in excess of par value or stated value and amounts received from other stock-related transactions. Includes only common stock transactions (excludes preferred stock transactions). May be called contributed capital, capital in excess of par, capital surplus, or paid-in capital.",
        "label": "Additional Paid in Capital, Common Stock",
        "terseLabel": "Additional paid-in capital"
       }
      }
     },
     "localname": "AdditionalPaidInCapitalCommonStock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.topbuild.com/role/StatementCondensedConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AdditionalPaidInCapitalMember": {
     "auth_ref": [
      "r358",
      "r359",
      "r360",
      "r497",
      "r498",
      "r499",
      "r556"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Excess of issue price over par or stated value of the entity's capital stock and amounts received from other transactions involving the entity's stock or stockholders.",
        "label": "Additional Paid-in Capital"
       }
      }
     },
     "localname": "AdditionalPaidInCapitalMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.topbuild.com/role/StatementCondensedConsolidatedStatementsOfChangesInEquity"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of decrease to equity for grantee's tax withholding obligation for award under share-based payment arrangement.",
        "label": "Adjustments Related to Tax Withholding for Share-based Compensation",
        "negatedLabel": "Shares withheld to pay taxes on employees' equity awards"
       }
      }
     },
     "localname": "AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.topbuild.com/role/StatementCondensedConsolidatedStatementsOfChangesInEquity"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue": {
     "auth_ref": [
      "r90",
      "r91",
      "r324"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of increase to additional paid-in capital (APIC) for recognition of cost for award under share-based payment arrangement.",
        "label": "Adjustments to Additional Paid in Capital, Share-based Compensation, Requisite Service Period Recognition",
        "terseLabel": "Share-based compensation"
       }
      }
     },
     "localname": "AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.topbuild.com/role/StatementCondensedConsolidatedStatementsOfChangesInEquity"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Adjustments to Reconcile Net Income (Loss) to Cash Provided by (Used in) Operating Activities [Abstract]",
        "terseLabel": "Adjustments to reconcile net income to net cash provided by operating activities:"
       }
      }
     },
     "localname": "AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.topbuild.com/role/StatementCondensedConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_AllocatedShareBasedCompensationExpense": {
     "auth_ref": [
      "r353"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of expense for award under share-based payment arrangement. Excludes amount capitalized.",
        "label": "Allocated Share-based Compensation Expense",
        "terseLabel": "Share-based compensation expense"
       }
      }
     },
     "localname": "AllocatedShareBasedCompensationExpense",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.topbuild.com/role/DisclosureShareBasedCompensationExpenseDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent": {
     "auth_ref": [
      "r146",
      "r233",
      "r236"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of allowance for credit loss on accounts receivable, classified as current.",
        "label": "Allowance for Doubtful Accounts Receivable, Current",
        "terseLabel": "Allowance for credit losses"
       }
      }
     },
     "localname": "AllowanceForDoubtfulAccountsReceivableCurrent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.topbuild.com/role/StatementCondensedConsolidatedBalanceSheetsParenthetical"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AmortizationOfFinancingCosts": {
     "auth_ref": [
      "r33",
      "r290",
      "r413",
      "r493"
     ],
     "calculation": {
      "http://www.topbuild.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": {
       "order": 4.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of amortization expense attributable to debt issuance costs.",
        "label": "Amortization of Financing Costs",
        "terseLabel": "Amortization of debt issuance costs"
       }
      }
     },
     "localname": "AmortizationOfFinancingCosts",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.topbuild.com/role/StatementCondensedConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AmortizationOfIntangibleAssets": {
     "auth_ref": [
      "r49",
      "r66",
      "r69"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The aggregate expense charged against earnings to allocate the cost of intangible assets (nonphysical assets not used in production) in a systematic and rational manner to the periods expected to benefit from such assets. As a noncash expense, this element is added back to net income when calculating cash provided by or used in operations using the indirect method.",
        "label": "Amortization of Intangible Assets",
        "terseLabel": "Amortization expense"
       }
      }
     },
     "localname": "AmortizationOfIntangibleAssets",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.topbuild.com/role/DisclosureGoodwillAndOtherIntangiblesOtherIntangibleAssetsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount": {
     "auth_ref": [
      "r192"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Securities (including those issuable pursuant to contingent stock agreements) that could potentially dilute basic earnings per share (EPS) or earnings per unit (EPU) in the future that were not included in the computation of diluted EPS or EPU because to do so would increase EPS or EPU amounts or decrease loss per share or unit amounts for the period presented.",
        "label": "Antidilutive Securities Excluded from Computation of Earnings Per Share, Amount",
        "verboseLabel": "Total anti-dilutive common stock equivalents"
       }
      }
     },
     "localname": "AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.topbuild.com/role/DisclosureNetIncomePerShareAntiDilutiveCommonStockEquivalentsDetails"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis": {
     "auth_ref": [
      "r57"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by type of antidilutive security.",
        "label": "Antidilutive Securities [Axis]"
       }
      }
     },
     "localname": "AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.topbuild.com/role/DisclosureNetIncomePerShareAntiDilutiveCommonStockEquivalentsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.",
        "label": "Antidilutive Securities Excluded from Computation of Earnings Per Share [Line Items]",
        "terseLabel": "Anti-dilutive common stock equivalents"
       }
      }
     },
     "localname": "AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.topbuild.com/role/DisclosureNetIncomePerShareAntiDilutiveCommonStockEquivalentsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_AntidilutiveSecuritiesNameDomain": {
     "auth_ref": [
      "r57"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Incremental common shares attributable to securities that were not included in diluted earnings per share (EPS) because to do so would increase EPS amounts or decrease loss per share amounts for the period presented.",
        "label": "Antidilutive Securities, Name [Domain]"
       }
      }
     },
     "localname": "AntidilutiveSecuritiesNameDomain",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.topbuild.com/role/DisclosureNetIncomePerShareAntiDilutiveCommonStockEquivalentsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_Assets": {
     "auth_ref": [
      "r113",
      "r125",
      "r142",
      "r167",
      "r210",
      "r216",
      "r222",
      "r234",
      "r262",
      "r263",
      "r265",
      "r266",
      "r267",
      "r269",
      "r271",
      "r273",
      "r274",
      "r382",
      "r386",
      "r400",
      "r478",
      "r521",
      "r522",
      "r560"
     ],
     "calculation": {
      "http://www.topbuild.com/role/StatementCondensedConsolidatedBalanceSheets": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Sum of the carrying amounts as of the balance sheet date of all assets that are recognized. Assets are probable future economic benefits obtained or controlled by an entity as a result of past transactions or events.",
        "label": "Assets",
        "terseLabel": "Total Assets",
        "totalLabel": "Total assets"
       }
      }
     },
     "localname": "Assets",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.topbuild.com/role/DisclosureSegmentInformationDetails",
      "http://www.topbuild.com/role/StatementCondensedConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AssetsAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Assets [Abstract]",
        "terseLabel": "ASSETS"
       }
      }
     },
     "localname": "AssetsAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.topbuild.com/role/StatementCondensedConsolidatedBalanceSheets"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_AssetsCurrent": {
     "auth_ref": [
      "r136",
      "r148",
      "r167",
      "r234",
      "r262",
      "r263",
      "r265",
      "r266",
      "r267",
      "r269",
      "r271",
      "r273",
      "r274",
      "r382",
      "r386",
      "r400",
      "r478",
      "r521",
      "r522",
      "r560"
     ],
     "calculation": {
      "http://www.topbuild.com/role/StatementCondensedConsolidatedBalanceSheets": {
       "order": 1.0,
       "parentTag": "us-gaap_Assets",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Sum of the carrying amounts as of the balance sheet date of all assets that are expected to be realized in cash, sold, or consumed within one year (or the normal operating cycle, if longer). Assets are probable future economic benefits obtained or controlled by an entity as a result of past transactions or events.",
        "label": "Assets, Current",
        "totalLabel": "Total current assets"
       }
      }
     },
     "localname": "AssetsCurrent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.topbuild.com/role/StatementCondensedConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AssetsCurrentAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Assets, Current [Abstract]",
        "terseLabel": "Current assets:"
       }
      }
     },
     "localname": "AssetsCurrentAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.topbuild.com/role/StatementCondensedConsolidatedBalanceSheets"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_AwardTypeAxis": {
     "auth_ref": [
      "r327",
      "r328",
      "r329",
      "r330",
      "r331",
      "r332",
      "r333",
      "r334",
      "r335",
      "r336",
      "r337",
      "r338",
      "r339",
      "r340",
      "r341",
      "r342",
      "r343",
      "r344",
      "r345",
      "r346",
      "r347",
      "r348",
      "r349",
      "r350",
      "r351",
      "r352"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by type of award under share-based payment arrangement.",
        "label": "Award Type [Axis]"
       }
      }
     },
     "localname": "AwardTypeAxis",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.topbuild.com/role/DisclosureShareBasedCompensationActivityDetails",
      "http://www.topbuild.com/role/DisclosureShareBasedCompensationTables"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_BalanceSheetLocationAxis": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by location on balance sheet (statement of financial position).",
        "label": "Balance Sheet Location [Axis]"
       }
      }
     },
     "localname": "BalanceSheetLocationAxis",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.topbuild.com/role/DisclosureRevenueRecognitionOtherDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_BalanceSheetLocationDomain": {
     "auth_ref": [
      "r103",
      "r104"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Location in the balance sheet (statement of financial position).",
        "label": "Balance Sheet Location [Domain]"
       }
      }
     },
     "localname": "BalanceSheetLocationDomain",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.topbuild.com/role/DisclosureRevenueRecognitionOtherDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_BasisOfAccountingPolicyPolicyTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of accounting policy for basis of accounting, or basis of presentation, used to prepare the financial statements (for example, US Generally Accepted Accounting Principles, Other Comprehensive Basis of Accounting, IFRS).",
        "label": "Basis of Accounting, Policy [Policy Text Block]",
        "terseLabel": "Financial Statement Presentation"
       }
      }
     },
     "localname": "BasisOfAccountingPolicyPolicyTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.topbuild.com/role/DisclosureAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_BusinessAcquisitionAcquireeDomain": {
     "auth_ref": [
      "r378",
      "r470",
      "r471"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Identification of the acquiree in a material business combination (or series of individually immaterial business combinations), which may include the name or other type of identification of the acquiree.",
        "label": "Business Acquisition, Acquiree [Domain]"
       }
      }
     },
     "localname": "BusinessAcquisitionAcquireeDomain",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.topbuild.com/role/DisclosureBusinessCombinationsSummaryDetails",
      "http://www.topbuild.com/role/DisclosureBusinessCombinationsTables"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_BusinessAcquisitionAxis": {
     "auth_ref": [
      "r94",
      "r95",
      "r378",
      "r470",
      "r471"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by business combination or series of individually immaterial business combinations.",
        "label": "Business Acquisition [Axis]"
       }
      }
     },
     "localname": "BusinessAcquisitionAxis",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.topbuild.com/role/DisclosureBusinessCombinationsSummaryDetails",
      "http://www.topbuild.com/role/DisclosureBusinessCombinationsTables"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_BusinessAcquisitionLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.",
        "label": "Business Acquisition [Line Items]",
        "terseLabel": "Business Combinations"
       }
      }
     },
     "localname": "BusinessAcquisitionLineItems",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.topbuild.com/role/DisclosureBusinessCombinationsSummaryDetails",
      "http://www.topbuild.com/role/DisclosureBusinessCombinationsTables"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_BusinessAcquisitionPurchasePriceAllocationGoodwillExpectedTaxDeductibleAmount": {
     "auth_ref": [
      "r100"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The amount of goodwill arising from a business combination that is expected to be deductible for tax purposes.",
        "label": "Business Acquisition, Goodwill, Expected Tax Deductible Amount",
        "terseLabel": "Goodwill expected to be deducted for income tax purposes"
       }
      }
     },
     "localname": "BusinessAcquisitionPurchasePriceAllocationGoodwillExpectedTaxDeductibleAmount",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.topbuild.com/role/DisclosureBusinessCombinationsSummaryDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_BusinessCombinationAcquisitionRelatedCosts": {
     "auth_ref": [
      "r93"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "This element represents acquisition-related costs incurred to effect a business combination which costs have been expensed during the period. Such costs include finder's fees; advisory, legal, accounting, valuation, and other professional or consulting fees; general administrative costs, including the costs of maintaining an internal acquisitions department; and may include costs of registering and issuing debt and equity securities.",
        "label": "Business Combination, Acquisition Related Costs",
        "terseLabel": "Acquisition related costs"
       }
      }
     },
     "localname": "BusinessCombinationAcquisitionRelatedCosts",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.topbuild.com/role/DisclosureBusinessCombinationsSummaryDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_BusinessCombinationConsiderationTransferred1": {
     "auth_ref": [
      "r97",
      "r98",
      "r99"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of consideration transferred, consisting of acquisition-date fair value of assets transferred by the acquirer, liabilities incurred by the acquirer, and equity interest issued by the acquirer.",
        "label": "Business Combination, Consideration Transferred",
        "terseLabel": "Purchase price",
        "totalLabel": "Total consideration transferred"
       }
      }
     },
     "localname": "BusinessCombinationConsiderationTransferred1",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.topbuild.com/role/DisclosureBusinessCombinationsFairValueOfConsiderationDetails",
      "http://www.topbuild.com/role/DisclosureBusinessCombinationsSummaryDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_BusinessCombinationConsiderationTransferredAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Business Combination, Consideration Transferred [Abstract]",
        "terseLabel": "Fair value of consideration"
       }
      }
     },
     "localname": "BusinessCombinationConsiderationTransferredAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.topbuild.com/role/DisclosureBusinessCombinationsFairValueOfConsiderationDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_BusinessCombinationDescriptionAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Business Combination, Description [Abstract]",
        "verboseLabel": "Summary of businesses acquired:"
       }
      }
     },
     "localname": "BusinessCombinationDescriptionAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.topbuild.com/role/DisclosureBusinessCombinationsSummaryDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_BusinessCombinationDisclosureTextBlock": {
     "auth_ref": [
      "r101",
      "r379"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for a business combination (or series of individually immaterial business combinations) completed during the period, including background, timing, and recognized assets and liabilities. The disclosure may include leverage buyout transactions (as applicable).",
        "label": "Business Combination Disclosure [Text Block]",
        "terseLabel": "Business Combinations"
       }
      }
     },
     "localname": "BusinessCombinationDisclosureTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.topbuild.com/role/DisclosureBusinessCombinations"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet": {
     "auth_ref": [
      "r96"
     ],
     "calculation": {
      "http://www.topbuild.com/role/DisclosureBusinessCombinationsSummaryDetails": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount recognized for assets, including goodwill, in excess of (less than) the aggregate liabilities assumed.",
        "label": "Business Combination, Recognized Identifiable Assets Acquired, Goodwill, and Liabilities Assumed, Net",
        "totalLabel": "Net assets acquired"
       }
      }
     },
     "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.topbuild.com/role/DisclosureBusinessCombinationsSummaryDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNetAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Business Combination, Recognized Identifiable Assets Acquired, Goodwill, and Liabilities Assumed, Net [Abstract]",
        "verboseLabel": "Estimated fair values"
       }
      }
     },
     "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNetAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.topbuild.com/role/DisclosureBusinessCombinationsSummaryDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_BusinessCombinationsAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Business Combinations"
       }
      }
     },
     "localname": "BusinessCombinationsAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "xbrltype": "stringItemType"
    },
    "us-gaap_BusinessDescriptionAndBasisOfPresentationTextBlock": {
     "auth_ref": [
      "r0",
      "r56",
      "r58"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for the business description and basis of presentation concepts. Business description describes the nature and type of organization including but not limited to organizational structure as may be applicable to holding companies, parent and subsidiary relationships, business divisions, business units, business segments, affiliates and information about significant ownership of the reporting entity. Basis of presentation describes the underlying basis used to prepare the financial statements (for example, US Generally Accepted Accounting Principles, Other Comprehensive Basis of Accounting, IFRS).",
        "label": "Business Description and Basis of Presentation [Text Block]",
        "terseLabel": "Basis of Presentation"
       }
      }
     },
     "localname": "BusinessDescriptionAndBasisOfPresentationTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.topbuild.com/role/DisclosureBasisOfPresentation"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_CapitalExpendituresIncurredButNotYetPaid": {
     "auth_ref": [
      "r52",
      "r53",
      "r54"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Future cash outflow to pay for purchases of fixed assets that have occurred.",
        "label": "Capital Expenditures Incurred but Not yet Paid",
        "terseLabel": "Accruals for property and equipment"
       }
      }
     },
     "localname": "CapitalExpendituresIncurredButNotYetPaid",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.topbuild.com/role/StatementCondensedConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_CashAndCashEquivalentsAtCarryingValue": {
     "auth_ref": [
      "r51",
      "r138",
      "r448"
     ],
     "calculation": {
      "http://www.topbuild.com/role/StatementCondensedConsolidatedBalanceSheets": {
       "order": 2.0,
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of currency on hand as well as demand deposits with banks or financial institutions. Includes other kinds of accounts that have the general characteristics of demand deposits. Also includes short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates. Excludes cash and cash equivalents within disposal group and discontinued operation.",
        "label": "Cash and Cash Equivalents, at Carrying Value",
        "terseLabel": "Cash and cash equivalents"
       }
      }
     },
     "localname": "CashAndCashEquivalentsAtCarryingValue",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.topbuild.com/role/StatementCondensedConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents": {
     "auth_ref": [
      "r46",
      "r51",
      "r55"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of cash and cash equivalents, and cash and cash equivalents restricted to withdrawal or usage. Excludes amount for disposal group and discontinued operations. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates.",
        "label": "Cash, Cash Equivalents, Restricted Cash and Restricted Cash Equivalents",
        "periodEndLabel": "Cash and cash equivalents- End of period",
        "periodStartLabel": "Cash and cash equivalents- Beginning of period"
       }
      }
     },
     "localname": "CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.topbuild.com/role/StatementCondensedConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect": {
     "auth_ref": [
      "r46",
      "r107"
     ],
     "calculation": {
      "http://www.topbuild.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of increase (decrease) in cash, cash equivalents, and cash and cash equivalents restricted to withdrawal or usage; including effect from exchange rate change. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates.",
        "label": "Cash and Cash Equivalents, Period Increase (Decrease)",
        "totalLabel": "Net increase (decrease) in cash and cash equivalents"
       }
      }
     },
     "localname": "CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.topbuild.com/role/StatementCondensedConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffectAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Cash and Cash Equivalents, Period Increase (Decrease) [Abstract]",
        "terseLabel": "Cash and Cash Equivalents"
       }
      }
     },
     "localname": "CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffectAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.topbuild.com/role/StatementCondensedConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_CommitmentsAndContingencies": {
     "auth_ref": [
      "r21",
      "r118",
      "r130"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the caption on the face of the balance sheet to indicate that the entity has entered into (1) purchase or supply arrangements that will require expending a portion of its resources to meet the terms thereof, and (2) is exposed to potential losses or, less frequently, gains, arising from (a) possible claims against a company's resources due to future performance under contract terms, and (b) possible losses or likely gains from uncertainties that will ultimately be resolved when one or more future events that are deemed likely to occur do occur or fail to occur.",
        "label": "Commitments and Contingencies",
        "terseLabel": "Commitments and contingencies"
       }
      }
     },
     "localname": "CommitmentsAndContingencies",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.topbuild.com/role/StatementCondensedConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_CommitmentsAndContingenciesDisclosureAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Other Commitments and Contingencies"
       }
      }
     },
     "localname": "CommitmentsAndContingenciesDisclosureAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "xbrltype": "stringItemType"
    },
    "us-gaap_CommitmentsAndContingenciesDisclosureTextBlock": {
     "auth_ref": [
      "r71",
      "r256",
      "r257",
      "r445",
      "r520"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for commitments and contingencies.",
        "label": "Commitments and Contingencies Disclosure [Text Block]",
        "terseLabel": "Other Commitments and Contingencies"
       }
      }
     },
     "localname": "CommitmentsAndContingenciesDisclosureTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.topbuild.com/role/DisclosureOtherCommitmentsAndContingencies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_CommonStockMember": {
     "auth_ref": [
      "r497",
      "r498",
      "r556"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Stock that is subordinate to all other stock of the issuer.",
        "label": "Common Stock"
       }
      }
     },
     "localname": "CommonStockMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.topbuild.com/role/StatementCondensedConsolidatedStatementsOfChangesInEquity"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_CommonStockParOrStatedValuePerShare": {
     "auth_ref": [
      "r5"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Face amount or stated value per share of common stock.",
        "label": "Common Stock, Par Value (in dollars per share)",
        "terseLabel": "Common stock, par value (in dollars per share)"
       }
      }
     },
     "localname": "CommonStockParOrStatedValuePerShare",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.topbuild.com/role/StatementCondensedConsolidatedBalanceSheetsParenthetical",
      "http://www.topbuild.com/role/StatementCondensedConsolidatedStatementsOfChangesInEquityParenthetical"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_CommonStockSharesAuthorized": {
     "auth_ref": [
      "r5"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The maximum number of common shares permitted to be issued by an entity's charter and bylaws.",
        "label": "Common Stock, Shares Authorized",
        "terseLabel": "Common stock, shares authorized"
       }
      }
     },
     "localname": "CommonStockSharesAuthorized",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.topbuild.com/role/StatementCondensedConsolidatedBalanceSheetsParenthetical"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_CommonStockSharesIssued": {
     "auth_ref": [
      "r5"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Total number of common shares of an entity that have been sold or granted to shareholders (includes common shares that were issued, repurchased and remain in the treasury). These shares represent capital invested by the firm's shareholders and owners, and may be all or only a portion of the number of shares authorized. Shares issued include shares outstanding and shares held in the treasury.",
        "label": "Common Stock, Shares, Issued",
        "terseLabel": "Common stock, shares issued"
       }
      }
     },
     "localname": "CommonStockSharesIssued",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.topbuild.com/role/StatementCondensedConsolidatedBalanceSheetsParenthetical"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_CommonStockSharesOutstanding": {
     "auth_ref": [
      "r5",
      "r75"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Number of shares of common stock outstanding. Common stock represent the ownership interest in a corporation.",
        "label": "Common Stock, Shares, Outstanding",
        "terseLabel": "Common stock, shares outstanding"
       }
      }
     },
     "localname": "CommonStockSharesOutstanding",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.topbuild.com/role/StatementCondensedConsolidatedBalanceSheetsParenthetical"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_CommonStockValue": {
     "auth_ref": [
      "r5",
      "r478"
     ],
     "calculation": {
      "http://www.topbuild.com/role/StatementCondensedConsolidatedBalanceSheets": {
       "order": 5.0,
       "parentTag": "us-gaap_StockholdersEquity",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Aggregate par or stated value of issued nonredeemable common stock (or common stock redeemable solely at the option of the issuer). This item includes treasury stock repurchased by the entity. Note: elements for number of nonredeemable common shares, par value and other disclosure concepts are in another section within stockholders' equity.",
        "label": "Common Stock, Value, Issued",
        "verboseLabel": "Common stock, $0.01 par value: 250,000,000 shares authorized; 39,465,688 shares issued and 31,750,010 outstanding at March 31, 2023, and 39,325,916 shares issued and 31,642,832 outstanding at December 31, 2022"
       }
      }
     },
     "localname": "CommonStockValue",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.topbuild.com/role/StatementCondensedConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ComprehensiveIncomeNetOfTax": {
     "auth_ref": [
      "r29",
      "r152",
      "r154",
      "r160",
      "r430",
      "r435"
     ],
     "calculation": {
      "http://www.topbuild.com/role/StatementCondensedConsolidatedStatementsOfComprehensiveIncome": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount after tax of increase (decrease) in equity from transactions and other events and circumstances from net income and other comprehensive income, attributable to parent entity. Excludes changes in equity resulting from investments by owners and distributions to owners.",
        "label": "Comprehensive Income (Loss), Net of Tax, Attributable to Parent",
        "totalLabel": "Comprehensive income"
       }
      }
     },
     "localname": "ComprehensiveIncomeNetOfTax",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.topbuild.com/role/StatementCondensedConsolidatedStatementsOfComprehensiveIncome"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ConstructionContractorReceivableRetainage": {
     "auth_ref": [
      "r144",
      "r424"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of right to consideration in exchange for good or service transferred to customer withheld under retainage provision in long-term contract or program when right to consideration is unconditional.",
        "label": "Construction Contractor, Receivable, Retainage",
        "terseLabel": "Retained receivables"
       }
      }
     },
     "localname": "ConstructionContractorReceivableRetainage",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.topbuild.com/role/DisclosureRevenueRecognitionOtherDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ContractWithCustomerAssetAndLiabilityAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Contract with Customer, Asset and Liability [Abstract]",
        "terseLabel": "Contract assets and contract liabilities with customers:"
       }
      }
     },
     "localname": "ContractWithCustomerAssetAndLiabilityAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.topbuild.com/role/DisclosureRevenueRecognitionOtherDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock": {
     "auth_ref": [
      "r525"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of receivable, contract asset, and contract liability from contract with customer. Includes, but is not limited to, change in contract asset and contract liability.",
        "label": "Contract with Customer, Asset and Liability [Table Text Block]",
        "verboseLabel": "Schedule of contract assets and contract liabilities with customers"
       }
      }
     },
     "localname": "ContractWithCustomerAssetAndLiabilityTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.topbuild.com/role/DisclosureRevenueRecognitionTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ContractWithCustomerAssetNetCurrent": {
     "auth_ref": [
      "r297",
      "r299",
      "r311"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount, after allowance for credit loss, of right to consideration in exchange for good or service transferred to customer when right is conditioned on something other than passage of time, classified as current.",
        "label": "Contract with Customer, Asset, Net, Current",
        "terseLabel": "Receivables, unbilled"
       }
      }
     },
     "localname": "ContractWithCustomerAssetNetCurrent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.topbuild.com/role/DisclosureRevenueRecognitionOtherDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ContractWithCustomerAssetNetCurrentAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Contract with Customer, Asset, Net, Current [Abstract]",
        "terseLabel": "Contract Assets"
       }
      }
     },
     "localname": "ContractWithCustomerAssetNetCurrentAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.topbuild.com/role/DisclosureRevenueRecognitionOtherDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ContractWithCustomerLiabilityAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Contract with Customer, Liability [Abstract]",
        "terseLabel": "Contract Liabilities"
       }
      }
     },
     "localname": "ContractWithCustomerLiabilityAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.topbuild.com/role/DisclosureRevenueRecognitionOtherDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ContractWithCustomerLiabilityCurrent": {
     "auth_ref": [
      "r297",
      "r298",
      "r311"
     ],
     "calculation": {
      "http://www.topbuild.com/role/DisclosureAccruedLiabilitiesDetails": {
       "order": 4.0,
       "parentTag": "bld_AccruedLiabilitiesAndEmployeeRelatedLiabilitiesCurrent",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of obligation to transfer good or service to customer for which consideration has been received or is receivable, classified as current.",
        "label": "Contract with Customer, Liability, Current",
        "terseLabel": "Deferred revenue"
       }
      }
     },
     "localname": "ContractWithCustomerLiabilityCurrent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.topbuild.com/role/DisclosureAccruedLiabilitiesDetails",
      "http://www.topbuild.com/role/DisclosureRevenueRecognitionOtherDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_CorporateNonSegmentMember": {
     "auth_ref": [
      "r62",
      "r215",
      "r216",
      "r217",
      "r218",
      "r224",
      "r503"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Corporate headquarters or functional department that may not earn revenues or may earn revenues that are only incidental to the activities of the entity and is not considered an operating segment.",
        "label": "Corporate"
       }
      }
     },
     "localname": "CorporateNonSegmentMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.topbuild.com/role/DisclosureSegmentInformationDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_CostOfGoodsAndServicesSold": {
     "auth_ref": [
      "r35",
      "r425"
     ],
     "calculation": {
      "http://www.topbuild.com/role/StatementCondensedConsolidatedStatementsOfOperations": {
       "order": 2.0,
       "parentTag": "us-gaap_GrossProfit",
       "weight": -1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The aggregate costs related to goods produced and sold and services rendered by an entity during the reporting period. This excludes costs incurred during the reporting period related to financial services rendered and other revenue generating activities.",
        "label": "Cost of Goods and Services Sold",
        "terseLabel": "Cost of sales"
       }
      }
     },
     "localname": "CostOfGoodsAndServicesSold",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.topbuild.com/role/StatementCondensedConsolidatedStatementsOfOperations"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_CreditFacilityAxis": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by type of credit facility. Credit facilities provide capital to borrowers without the need to structure a loan for each borrowing.",
        "label": "Credit Facility [Axis]"
       }
      }
     },
     "localname": "CreditFacilityAxis",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.topbuild.com/role/DisclosureLongTermDebtKeyTermsOfCreditAgreementDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_CreditFacilityDomain": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Type of credit facility. Credit facilities provide capital to borrowers without the need to structure a loan for each borrowing.",
        "label": "Credit Facility [Domain]"
       }
      }
     },
     "localname": "CreditFacilityDomain",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.topbuild.com/role/DisclosureLongTermDebtKeyTermsOfCreditAgreementDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_DebtDisclosureAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Long-Term Debt"
       }
      }
     },
     "localname": "DebtDisclosureAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "xbrltype": "stringItemType"
    },
    "us-gaap_DebtInstrumentAxis": {
     "auth_ref": [
      "r1",
      "r2",
      "r3",
      "r114",
      "r116",
      "r124",
      "r170",
      "r275",
      "r276",
      "r277",
      "r278",
      "r279",
      "r280",
      "r281",
      "r282",
      "r283",
      "r284",
      "r285",
      "r286",
      "r287",
      "r288",
      "r289",
      "r290",
      "r414",
      "r454",
      "r455",
      "r456",
      "r457",
      "r458",
      "r494"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by type of debt instrument, including, but not limited to, draws against credit facilities.",
        "label": "Debt Instrument [Axis]"
       }
      }
     },
     "localname": "DebtInstrumentAxis",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.topbuild.com/role/DisclosureFairValueMeasurementsDetails",
      "http://www.topbuild.com/role/DisclosureLongTermDebtKeyTermsOfCreditAgreementDetails",
      "http://www.topbuild.com/role/DisclosureLongTermDebtOtherDetails",
      "http://www.topbuild.com/role/DisclosureLongTermDebtSeniorNotesAndEquipmentNotesDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_DebtInstrumentBasisSpreadOnVariableRate1": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Percentage points added to the reference rate to compute the variable rate on the debt instrument.",
        "label": "Debt Instrument, Basis Spread on Variable Rate",
        "terseLabel": "Basis spread"
       }
      }
     },
     "localname": "DebtInstrumentBasisSpreadOnVariableRate1",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.topbuild.com/role/DisclosureLongTermDebtKeyTermsOfCreditAgreementDetails",
      "http://www.topbuild.com/role/DisclosureLongTermDebtSeniorNotesAndEquipmentNotesDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_DebtInstrumentCarryingAmount": {
     "auth_ref": [
      "r3",
      "r116",
      "r124",
      "r292"
     ],
     "calculation": {
      "http://www.topbuild.com/role/DisclosureLongTermDebtReconciliationDetails": {
       "order": 2.0,
       "parentTag": "us-gaap_LongTermDebt",
       "weight": 1.0
      },
      "http://www.topbuild.com/role/DisclosureLongTermDebtScheduleOfDebtMaturityDetails": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount, before unamortized (discount) premium and debt issuance costs, of long-term debt. Includes, but is not limited to, notes payable, bonds payable, commercial loans, mortgage loans, convertible debt, subordinated debt and other types of debt.",
        "label": "Long-term Debt, Gross",
        "terseLabel": "Amount outstanding",
        "totalLabel": "Total",
        "verboseLabel": "Long-term debt"
       }
      }
     },
     "localname": "DebtInstrumentCarryingAmount",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.topbuild.com/role/DisclosureFairValueMeasurementsDetails",
      "http://www.topbuild.com/role/DisclosureLongTermDebtReconciliationDetails",
      "http://www.topbuild.com/role/DisclosureLongTermDebtScheduleOfDebtMaturityDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DebtInstrumentFaceAmount": {
     "auth_ref": [
      "r109",
      "r111",
      "r275",
      "r414",
      "r455",
      "r456"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Face (par) amount of debt instrument at time of issuance.",
        "label": "Debt Instrument, Face Amount",
        "terseLabel": "Principal amount of debt"
       }
      }
     },
     "localname": "DebtInstrumentFaceAmount",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.topbuild.com/role/DisclosureLongTermDebtKeyTermsOfCreditAgreementDetails",
      "http://www.topbuild.com/role/DisclosureLongTermDebtSeniorNotesAndEquipmentNotesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DebtInstrumentFairValue": {
     "auth_ref": [
      "r283",
      "r399",
      "r455",
      "r456"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Fair value portion of debt instrument payable, including, but not limited to, notes payable and loans payable.",
        "label": "Debt Instrument, Fair Value Disclosure",
        "terseLabel": "Fair value"
       }
      }
     },
     "localname": "DebtInstrumentFairValue",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.topbuild.com/role/DisclosureFairValueMeasurementsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DebtInstrumentInterestRateEffectivePercentage": {
     "auth_ref": [
      "r18",
      "r109",
      "r294",
      "r414"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Effective interest rate for the funds borrowed under the debt agreement considering interest compounding and original issue discount or premium.",
        "label": "Debt Instrument, Interest Rate, Effective Percentage",
        "terseLabel": "Interest rate"
       }
      }
     },
     "localname": "DebtInstrumentInterestRateEffectivePercentage",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.topbuild.com/role/DisclosureLongTermDebtKeyTermsOfCreditAgreementDetails",
      "http://www.topbuild.com/role/DisclosureLongTermDebtSeniorNotesAndEquipmentNotesDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_DebtInstrumentInterestRateStatedPercentage": {
     "auth_ref": [
      "r18",
      "r276"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Contractual interest rate for funds borrowed, under the debt agreement.",
        "label": "Debt Instrument, Interest Rate, Stated Percentage",
        "terseLabel": "Interest rate (as a percent)"
       }
      }
     },
     "localname": "DebtInstrumentInterestRateStatedPercentage",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.topbuild.com/role/DisclosureFairValueMeasurementsDetails",
      "http://www.topbuild.com/role/DisclosureLongTermDebtKeyTermsOfCreditAgreementDetails",
      "http://www.topbuild.com/role/DisclosureLongTermDebtOtherDetails",
      "http://www.topbuild.com/role/DisclosureLongTermDebtReconciliationDetails",
      "http://www.topbuild.com/role/DisclosureLongTermDebtRevolvingFacilityDetails",
      "http://www.topbuild.com/role/DisclosureLongTermDebtSeniorNotesAndEquipmentNotesDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_DebtInstrumentLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.",
        "label": "Debt Instrument [Line Items]",
        "terseLabel": "Long-Term Debt"
       }
      }
     },
     "localname": "DebtInstrumentLineItems",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.topbuild.com/role/DisclosureLongTermDebtKeyTermsOfCreditAgreementDetails",
      "http://www.topbuild.com/role/DisclosureLongTermDebtOtherDetails",
      "http://www.topbuild.com/role/DisclosureLongTermDebtReconciliationDetails",
      "http://www.topbuild.com/role/DisclosureLongTermDebtRevolvingFacilityDetails",
      "http://www.topbuild.com/role/DisclosureLongTermDebtScheduleOfDebtMaturityDetails",
      "http://www.topbuild.com/role/DisclosureLongTermDebtSeniorNotesAndEquipmentNotesDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_DebtInstrumentMaturityDate": {
     "auth_ref": [
      "r149",
      "r454",
      "r557"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Date when the debt instrument is scheduled to be fully repaid, in YYYY-MM-DD format.",
        "label": "Debt Instrument, Maturity Date",
        "terseLabel": "Scheduled maturity date"
       }
      }
     },
     "localname": "DebtInstrumentMaturityDate",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.topbuild.com/role/DisclosureLongTermDebtKeyTermsOfCreditAgreementDetails",
      "http://www.topbuild.com/role/DisclosureLongTermDebtSeniorNotesAndEquipmentNotesDetails"
     ],
     "xbrltype": "dateItemType"
    },
    "us-gaap_DebtInstrumentNameDomain": {
     "auth_ref": [
      "r19",
      "r170",
      "r275",
      "r276",
      "r277",
      "r278",
      "r279",
      "r280",
      "r281",
      "r282",
      "r283",
      "r284",
      "r285",
      "r286",
      "r287",
      "r288",
      "r289",
      "r290",
      "r414",
      "r454",
      "r455",
      "r456",
      "r457",
      "r458",
      "r494"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The name for the particular debt instrument or borrowing that distinguishes it from other debt instruments or borrowings, including draws against credit facilities.",
        "label": "Debt Instrument, Name [Domain]"
       }
      }
     },
     "localname": "DebtInstrumentNameDomain",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.topbuild.com/role/DisclosureFairValueMeasurementsDetails",
      "http://www.topbuild.com/role/DisclosureLongTermDebtKeyTermsOfCreditAgreementDetails",
      "http://www.topbuild.com/role/DisclosureLongTermDebtOtherDetails",
      "http://www.topbuild.com/role/DisclosureLongTermDebtSeniorNotesAndEquipmentNotesDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_DebtInstrumentRedemptionPeriodAxis": {
     "auth_ref": [
      "r122"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information about timing of debt redemption features under terms of the debt agreement.",
        "label": "Debt Instrument, Redemption, Period [Axis]"
       }
      }
     },
     "localname": "DebtInstrumentRedemptionPeriodAxis",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.topbuild.com/role/DisclosureLongTermDebtSeniorNotesAndEquipmentNotesDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_DebtInstrumentRedemptionPeriodDomain": {
     "auth_ref": [
      "r122"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Period as defined under terms of the debt agreement for debt redemption features.",
        "label": "Debt Instrument, Redemption, Period [Domain]"
       }
      }
     },
     "localname": "DebtInstrumentRedemptionPeriodDomain",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.topbuild.com/role/DisclosureLongTermDebtSeniorNotesAndEquipmentNotesDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_DebtInstrumentRedemptionPeriodFiveMember": {
     "auth_ref": [
      "r122"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Period five representing fifth most current period of debt redemption features under terms of the debt agreement.",
        "label": "On October 15, 2029 and thereafter"
       }
      }
     },
     "localname": "DebtInstrumentRedemptionPeriodFiveMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.topbuild.com/role/DisclosureLongTermDebtSeniorNotesAndEquipmentNotesDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_DebtInstrumentRedemptionPeriodFourMember": {
     "auth_ref": [
      "r122"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Period four representing fourth most current period of debt redemption features under terms of the debt agreement.",
        "label": "On or after October 15, 2028"
       }
      }
     },
     "localname": "DebtInstrumentRedemptionPeriodFourMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.topbuild.com/role/DisclosureLongTermDebtSeniorNotesAndEquipmentNotesDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_DebtInstrumentRedemptionPeriodOneMember": {
     "auth_ref": [
      "r122"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Period one representing most current period of debt redemption features under terms of the debt agreement.",
        "label": "Prior to March 15, 2024"
       }
      }
     },
     "localname": "DebtInstrumentRedemptionPeriodOneMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.topbuild.com/role/DisclosureLongTermDebtSeniorNotesAndEquipmentNotesDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_DebtInstrumentRedemptionPeriodThreeMember": {
     "auth_ref": [
      "r122"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Period three representing third most current period of debt redemption features under terms of the debt agreement.",
        "label": "On or after October 15, 2027"
       }
      }
     },
     "localname": "DebtInstrumentRedemptionPeriodThreeMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.topbuild.com/role/DisclosureLongTermDebtSeniorNotesAndEquipmentNotesDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_DebtInstrumentRedemptionPeriodTwoMember": {
     "auth_ref": [
      "r122"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Period two representing second most current period of debt redemption features under terms of the debt agreement.",
        "label": "On or after October 15, 2026"
       }
      }
     },
     "localname": "DebtInstrumentRedemptionPeriodTwoMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.topbuild.com/role/DisclosureLongTermDebtSeniorNotesAndEquipmentNotesDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_DebtInstrumentRedemptionPricePercentage": {
     "auth_ref": [
      "r122"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Percentage price of original principal amount of debt at which debt can be redeemed by the issuer.",
        "label": "Debt Instrument, Redemption Price, Percentage",
        "terseLabel": "Redemption price as a percentage of principal"
       }
      }
     },
     "localname": "DebtInstrumentRedemptionPricePercentage",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.topbuild.com/role/DisclosureLongTermDebtKeyTermsOfCreditAgreementDetails",
      "http://www.topbuild.com/role/DisclosureLongTermDebtSeniorNotesAndEquipmentNotesDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_DebtInstrumentRedemptionPricePercentageOfPrincipalAmountRedeemed": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Percentage of principal amount of debt redeemed.",
        "label": "Debt Instrument, Redemption Price, Percentage of Principal Amount Redeemed",
        "terseLabel": "Redemption price, percentage of principal amount redeemed"
       }
      }
     },
     "localname": "DebtInstrumentRedemptionPricePercentageOfPrincipalAmountRedeemed",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.topbuild.com/role/DisclosureLongTermDebtKeyTermsOfCreditAgreementDetails",
      "http://www.topbuild.com/role/DisclosureLongTermDebtSeniorNotesAndEquipmentNotesDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_DebtInstrumentTable": {
     "auth_ref": [
      "r19",
      "r76",
      "r77",
      "r78",
      "r79",
      "r108",
      "r109",
      "r111",
      "r123",
      "r170",
      "r275",
      "r276",
      "r277",
      "r278",
      "r279",
      "r280",
      "r281",
      "r282",
      "r283",
      "r284",
      "r285",
      "r286",
      "r287",
      "r288",
      "r289",
      "r290",
      "r291",
      "r414",
      "r454",
      "r455",
      "r456",
      "r457",
      "r458",
      "r494"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "A table or schedule providing information pertaining to long-term debt instruments or arrangements, including identification, terms, features, collateral requirements and other information necessary to a fair presentation. These are debt arrangements that originally required repayment more than twelve months after issuance or greater than the normal operating cycle of the company, if longer.",
        "label": "Schedule of Long-term Debt Instruments [Table]"
       }
      }
     },
     "localname": "DebtInstrumentTable",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.topbuild.com/role/DisclosureLongTermDebtKeyTermsOfCreditAgreementDetails",
      "http://www.topbuild.com/role/DisclosureLongTermDebtReconciliationDetails",
      "http://www.topbuild.com/role/DisclosureLongTermDebtScheduleOfDebtMaturityDetails",
      "http://www.topbuild.com/role/DisclosureLongTermDebtSeniorNotesAndEquipmentNotesDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_DebtInstrumentTerm": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Period of time between issuance and maturity of debt instrument, in PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days.",
        "label": "Debt Instrument, Term",
        "terseLabel": "Debt term"
       }
      }
     },
     "localname": "DebtInstrumentTerm",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.topbuild.com/role/DisclosureLongTermDebtKeyTermsOfCreditAgreementDetails",
      "http://www.topbuild.com/role/DisclosureLongTermDebtSeniorNotesAndEquipmentNotesDetails"
     ],
     "xbrltype": "durationItemType"
    },
    "us-gaap_DeferredFinanceCostsNet": {
     "auth_ref": [
      "r110",
      "r524"
     ],
     "calculation": {
      "http://www.topbuild.com/role/DisclosureLongTermDebtReconciliationDetails": {
       "order": 1.0,
       "parentTag": "us-gaap_LongTermDebt",
       "weight": -1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount, after accumulated amortization, of debt issuance costs. Includes, but is not limited to, legal, accounting, underwriting, printing, and registration costs.",
        "label": "Deferred Finance Costs, Net",
        "negatedLabel": "Unamortized debt issuance costs"
       }
      }
     },
     "localname": "DeferredFinanceCostsNet",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.topbuild.com/role/DisclosureLongTermDebtReconciliationDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DeferredIncomeTaxLiabilitiesNet": {
     "auth_ref": [
      "r362",
      "r363"
     ],
     "calculation": {
      "http://www.topbuild.com/role/DisclosureIncomeTaxesDeferredTaxesCalc2": {
       "order": 1.0,
       "parentTag": "us-gaap_DeferredTaxLiabilities",
       "weight": 1.0
      },
      "http://www.topbuild.com/role/StatementCondensedConsolidatedBalanceSheets": {
       "order": 3.0,
       "parentTag": "us-gaap_Liabilities",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount, after deferred tax asset, of deferred tax liability attributable to taxable differences with jurisdictional netting.",
        "label": "Deferred Tax Liabilities, Net, Noncurrent",
        "terseLabel": "Deferred tax liabilities, net"
       }
      }
     },
     "localname": "DeferredIncomeTaxLiabilitiesNet",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.topbuild.com/role/StatementCondensedConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DeferredTaxLiabilities": {
     "auth_ref": [
      "r92",
      "r554"
     ],
     "calculation": {
      "http://www.topbuild.com/role/DisclosureIncomeTaxesDeferredTaxesCalc2": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount, after deferred tax asset, of deferred tax liability attributable to taxable differences without jurisdictional netting.",
        "label": "Deferred Tax Liabilities, Net",
        "terseLabel": "Net deferred tax liability"
       }
      }
     },
     "localname": "DeferredTaxLiabilities",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.topbuild.com/role/DisclosureIncomeTaxesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DepreciationDepletionAndAmortization": {
     "auth_ref": [
      "r49",
      "r205"
     ],
     "calculation": {
      "http://www.topbuild.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": {
       "order": 1.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The aggregate expense recognized in the current period that allocates the cost of tangible assets, intangible assets, or depleting assets to periods that benefit from use of the assets.",
        "label": "Depreciation, Depletion and Amortization",
        "terseLabel": "Depreciation and amortization"
       }
      }
     },
     "localname": "DepreciationDepletionAndAmortization",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.topbuild.com/role/StatementCondensedConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DisaggregationOfRevenueLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.",
        "label": "Disaggregation of Revenue [Line Items]",
        "terseLabel": "Revenue Recognition"
       }
      }
     },
     "localname": "DisaggregationOfRevenueLineItems",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.topbuild.com/role/DisclosureRevenueRecognitionDisaggregationDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_DisaggregationOfRevenueTable": {
     "auth_ref": [
      "r310",
      "r460",
      "r461",
      "r462",
      "r463",
      "r464",
      "r465",
      "r466"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of information about disaggregation of revenue into categories depicting how nature, amount, timing, and uncertainty of revenue and cash flows are affected by economic factor.",
        "label": "Disaggregation of Revenue [Table]"
       }
      }
     },
     "localname": "DisaggregationOfRevenueTable",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.topbuild.com/role/DisclosureRevenueRecognitionDisaggregationDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_DisaggregationOfRevenueTableTextBlock": {
     "auth_ref": [
      "r526"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of disaggregation of revenue into categories depicting how nature, amount, timing, and uncertainty of revenue and cash flows are affected by economic factor.",
        "label": "Disaggregation of Revenue [Table Text Block]",
        "terseLabel": "Schedule of revenues disaggregated by market and product"
       }
      }
     },
     "localname": "DisaggregationOfRevenueTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.topbuild.com/role/DisclosureRevenueRecognitionTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock": {
     "auth_ref": [
      "r326",
      "r354",
      "r355",
      "r357",
      "r361",
      "r473"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for share-based payment arrangement.",
        "label": "Disclosure of Compensation Related Costs, Share-based Payments [Text Block]",
        "terseLabel": "Share-Based Compensation"
       }
      }
     },
     "localname": "DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.topbuild.com/role/DisclosureShareBasedCompensation"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-Based Compensation."
       }
      }
     },
     "localname": "DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "xbrltype": "stringItemType"
    },
    "us-gaap_EarningsPerShareAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Net Income Per Share",
        "verboseLabel": "Net income per common share:"
       }
      }
     },
     "localname": "EarningsPerShareAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.topbuild.com/role/StatementCondensedConsolidatedStatementsOfOperations"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_EarningsPerShareBasic": {
     "auth_ref": [
      "r161",
      "r176",
      "r177",
      "r178",
      "r179",
      "r180",
      "r185",
      "r187",
      "r189",
      "r190",
      "r191",
      "r195",
      "r389",
      "r390",
      "r431",
      "r436",
      "r450"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The amount of net income (loss) for the period per each share of common stock or unit outstanding during the reporting period.",
        "label": "Earnings Per Share, Basic",
        "terseLabel": "Basic",
        "verboseLabel": "Basic net income per common share"
       }
      }
     },
     "localname": "EarningsPerShareBasic",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.topbuild.com/role/DisclosureNetIncomePerShareCalculationDetails",
      "http://www.topbuild.com/role/StatementCondensedConsolidatedStatementsOfOperations"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_EarningsPerShareDiluted": {
     "auth_ref": [
      "r161",
      "r176",
      "r177",
      "r178",
      "r179",
      "r180",
      "r187",
      "r189",
      "r190",
      "r191",
      "r195",
      "r389",
      "r390",
      "r431",
      "r436",
      "r450"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The amount of net income (loss) for the period available to each share of common stock or common unit outstanding during the reporting period and to each share or unit that would have been outstanding assuming the issuance of common shares or units for all dilutive potential common shares or units outstanding during the reporting period.",
        "label": "Earnings Per Share, Diluted",
        "terseLabel": "Diluted",
        "verboseLabel": "Diluted net income per common share"
       }
      }
     },
     "localname": "EarningsPerShareDiluted",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.topbuild.com/role/DisclosureNetIncomePerShareCalculationDetails",
      "http://www.topbuild.com/role/StatementCondensedConsolidatedStatementsOfOperations"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_EarningsPerShareReconciliationAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Earnings Per Share, Basic and Diluted, Other Disclosures [Abstract]",
        "verboseLabel": "Weighted average shares outstanding:"
       }
      }
     },
     "localname": "EarningsPerShareReconciliationAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.topbuild.com/role/StatementCondensedConsolidatedStatementsOfOperations"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_EarningsPerShareTextBlock": {
     "auth_ref": [
      "r192",
      "r193",
      "r194",
      "r196"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for earnings per share.",
        "label": "Earnings Per Share [Text Block]",
        "terseLabel": "Net Income Per Share"
       }
      }
     },
     "localname": "EarningsPerShareTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.topbuild.com/role/DisclosureNetIncomePerShare"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents": {
     "auth_ref": [
      "r403"
     ],
     "calculation": {
      "http://www.topbuild.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": {
       "order": 4.0,
       "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of increase (decrease) from effect of exchange rate changes on cash and cash equivalents, and cash and cash equivalents restricted to withdrawal or usage; held in foreign currencies. Excludes amounts for disposal group and discontinued operations. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates.",
        "label": "Impact of exchange rate changes on cash",
        "verboseLabel": "Impact of exchange rate changes on cash"
       }
      }
     },
     "localname": "EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.topbuild.com/role/StatementCondensedConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_EffectiveIncomeTaxRateContinuingOperations": {
     "auth_ref": [
      "r365"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Percentage of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations.",
        "label": "Effective Income Tax Rate Reconciliation, Percent",
        "terseLabel": "Effective tax rate (as a percent)"
       }
      }
     },
     "localname": "EffectiveIncomeTaxRateContinuingOperations",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.topbuild.com/role/DisclosureIncomeTaxesDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_EmployeeRelatedLiabilitiesCurrent": {
     "auth_ref": [
      "r16"
     ],
     "calculation": {
      "http://www.topbuild.com/role/DisclosureAccruedLiabilitiesDetails": {
       "order": 8.0,
       "parentTag": "bld_AccruedLiabilitiesAndEmployeeRelatedLiabilitiesCurrent",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Total of the carrying values as of the balance sheet date of obligations incurred through that date and payable for obligations related to services received from employees, such as accrued salaries and bonuses, payroll taxes and fringe benefits. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).",
        "label": "Employee-related Liabilities, Current",
        "verboseLabel": "Salaries, wages, and bonus/commissions"
       }
      }
     },
     "localname": "EmployeeRelatedLiabilitiesCurrent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.topbuild.com/role/DisclosureAccruedLiabilitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Compensation Cost [Line Items]",
        "terseLabel": "Share-Based Compensation"
       }
      }
     },
     "localname": "EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.topbuild.com/role/DisclosureShareBasedCompensationExpenseDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized": {
     "auth_ref": [
      "r356"
     ],
     "calculation": {
      "http://www.topbuild.com/role/DisclosureShareBasedCompensationActivityDetails": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of cost not yet recognized for nonvested award under share-based payment arrangement.",
        "label": "Employee Service Share-based Compensation, Nonvested Awards, Compensation Cost Not yet Recognized",
        "totalLabel": "Total unrecognized compensation expense related to unvested awards"
       }
      }
     },
     "localname": "EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.topbuild.com/role/DisclosureShareBasedCompensationActivityDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Unrecognized share-based compensation expense relating to unvested awards",
        "terseLabel": "Unrecognized share-based compensation expense"
       }
      }
     },
     "localname": "EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.topbuild.com/role/DisclosureShareBasedCompensationActivityDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1": {
     "auth_ref": [
      "r356"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Weighted-average period over which cost not yet recognized is expected to be recognized for award under share-based payment arrangement, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days.",
        "label": "Share-Based Payment Arrangement, Nonvested Award, Cost Not yet Recognized, Period for Recognition",
        "terseLabel": "Weighted Average Remaining Compensation Expense Period"
       }
      }
     },
     "localname": "EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.topbuild.com/role/DisclosureShareBasedCompensationActivityDetails"
     ],
     "xbrltype": "durationItemType"
    },
    "us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions": {
     "auth_ref": [
      "r553"
     ],
     "calculation": {
      "http://www.topbuild.com/role/DisclosureShareBasedCompensationActivityDetails": {
       "order": 1.0,
       "parentTag": "us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of cost to be recognized for nonvested award under share-based payment arrangement. Excludes share and unit options.",
        "label": "Employee Service Share-based Compensation, Nonvested Awards, Compensation Not yet Recognized, Share-based Awards Other than Options",
        "verboseLabel": "RSAs, Unrecognized Compensation Expense on Unvested Awards"
       }
      }
     },
     "localname": "EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.topbuild.com/role/DisclosureShareBasedCompensationActivityDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions": {
     "auth_ref": [
      "r553"
     ],
     "calculation": {
      "http://www.topbuild.com/role/DisclosureShareBasedCompensationActivityDetails": {
       "order": 2.0,
       "parentTag": "us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of cost to be recognized for option under share-based payment arrangement.",
        "label": "Employee Service Share-based Compensation, Nonvested Awards, Compensation Not yet Recognized, Stock Options",
        "verboseLabel": "Stock options, Unrecognized Compensation Expense on Unvested Awards"
       }
      }
     },
     "localname": "EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.topbuild.com/role/DisclosureShareBasedCompensationActivityDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense": {
     "auth_ref": [
      "r353"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of tax benefit for recognition of expense of award under share-based payment arrangement.",
        "label": "Employee Service Share-based Compensation, Tax Benefit from Compensation Expense",
        "terseLabel": "Income tax (expense) benefit",
        "verboseLabel": "Benefit related to share-based compensation"
       }
      }
     },
     "localname": "EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.topbuild.com/role/DisclosureIncomeTaxesDetails",
      "http://www.topbuild.com/role/DisclosureShareBasedCompensationExpenseDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_EmployeeStockOptionMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Share-based payment arrangement granting right, subject to vesting and other restrictions, to purchase or sell certain number of shares at predetermined price for specified period of time.",
        "label": "Stock Options"
       }
      }
     },
     "localname": "EmployeeStockOptionMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.topbuild.com/role/DisclosureNetIncomePerShareAntiDilutiveCommonStockEquivalentsDetails",
      "http://www.topbuild.com/role/DisclosureShareBasedCompensationActivityDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_EquityComponentDomain": {
     "auth_ref": [
      "r75",
      "r133",
      "r155",
      "r156",
      "r157",
      "r171",
      "r172",
      "r173",
      "r175",
      "r181",
      "r183",
      "r197",
      "r235",
      "r296",
      "r358",
      "r359",
      "r360",
      "r369",
      "r370",
      "r388",
      "r405",
      "r406",
      "r407",
      "r408",
      "r409",
      "r411",
      "r418",
      "r439",
      "r440",
      "r441"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Components of equity are the parts of the total Equity balance including that which is allocated to common, preferred, treasury stock, retained earnings, etc.",
        "label": "Equity Component [Domain]"
       }
      }
     },
     "localname": "EquityComponentDomain",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.topbuild.com/role/StatementCondensedConsolidatedStatementsOfChangesInEquity"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.",
        "label": "Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]"
       }
      }
     },
     "localname": "FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.topbuild.com/role/DisclosureFairValueMeasurementsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable": {
     "auth_ref": [
      "r391",
      "r392",
      "r397"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of information about asset and liability measured at fair value on recurring and nonrecurring basis.",
        "label": "Fair Value Measurements, Recurring and Nonrecurring [Table]"
       }
      }
     },
     "localname": "FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.topbuild.com/role/DisclosureFairValueMeasurementsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_FairValueByFairValueHierarchyLevelAxis": {
     "auth_ref": [
      "r283",
      "r315",
      "r316",
      "r317",
      "r318",
      "r319",
      "r320",
      "r392",
      "r419",
      "r420",
      "r421",
      "r455",
      "r456",
      "r467",
      "r468",
      "r469"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by level within fair value hierarchy and fair value measured at net asset value per share as practical expedient.",
        "label": "Fair Value Hierarchy and NAV [Axis]"
       }
      }
     },
     "localname": "FairValueByFairValueHierarchyLevelAxis",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.topbuild.com/role/DisclosureFairValueMeasurementsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_FairValueByMeasurementFrequencyAxis": {
     "auth_ref": [
      "r391",
      "r392",
      "r393",
      "r394",
      "r398"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by measurement frequency.",
        "label": "Measurement Frequency [Axis]"
       }
      }
     },
     "localname": "FairValueByMeasurementFrequencyAxis",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.topbuild.com/role/DisclosureFairValueMeasurementsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_FairValueDisclosuresAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Fair Value Measurements"
       }
      }
     },
     "localname": "FairValueDisclosuresAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "xbrltype": "stringItemType"
    },
    "us-gaap_FairValueDisclosuresTextBlock": {
     "auth_ref": [
      "r396"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for the fair value of financial instruments (as defined), including financial assets and financial liabilities (collectively, as defined), and the measurements of those instruments as well as disclosures related to the fair value of non-financial assets and liabilities. Such disclosures about the financial instruments, assets, and liabilities would include: (1) the fair value of the required items together with their carrying amounts (as appropriate); (2) for items for which it is not practicable to estimate fair value, disclosure would include: (a) information pertinent to estimating fair value (including, carrying amount, effective interest rate, and maturity, and (b) the reasons why it is not practicable to estimate fair value; (3) significant concentrations of credit risk including: (a) information about the activity, region, or economic characteristics identifying a concentration, (b) the maximum amount of loss the entity is exposed to based on the gross fair value of the related item, (c) policy for requiring collateral or other security and information as to accessing such collateral or security, and (d) the nature and brief description of such collateral or security; (4) quantitative information about market risks and how such risks are managed; (5) for items measured on both a recurring and nonrecurring basis information regarding the inputs used to develop the fair value measurement; and (6) for items presented in the financial statement for which fair value measurement is elected: (a) information necessary to understand the reasons for the election, (b) discussion of the effect of fair value changes on earnings, (c) a description of [similar groups] items for which the election is made and the relation thereof to the balance sheet, the aggregate carrying value of items included in the balance sheet that are not eligible for the election; (7) all other required (as defined) and desired information.",
        "label": "Fair Value Disclosures [Text Block]",
        "terseLabel": "Fair Value Measurements"
       }
      }
     },
     "localname": "FairValueDisclosuresTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.topbuild.com/role/DisclosureFairValueMeasurements"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_FairValueInputsLevel1Member": {
     "auth_ref": [
      "r283",
      "r315",
      "r320",
      "r392",
      "r419",
      "r467",
      "r468",
      "r469"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Quoted prices in active markets for identical assets or liabilities that the reporting entity can access at the measurement date.",
        "label": "Level 1 fair value measurement"
       }
      }
     },
     "localname": "FairValueInputsLevel1Member",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.topbuild.com/role/DisclosureFairValueMeasurementsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_FairValueInputsQuantitativeInformationAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Fair Value, Transfers Between Level 1 and Level 2, Description and Policy [Abstract]",
        "terseLabel": "Fair Value on Non-Recurring Basis"
       }
      }
     },
     "localname": "FairValueInputsQuantitativeInformationAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.topbuild.com/role/DisclosureFairValueMeasurementsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_FairValueLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTableTextBlock": {
     "auth_ref": [
      "r105",
      "r106"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of liabilities measured at fair value measured on a recurring or nonrecurring basis. Includes, but is not limited to, fair value measurements recorded and the reasons for the measurements, level within the fair value hierarchy in which the fair value measurements are categorized and transfers between levels 1 and 2.",
        "label": "Fair Value, Liabilities Measured on Recurring and Nonrecurring Basis [Table Text Block]",
        "terseLabel": "Schedule of fair value of liabilities"
       }
      }
     },
     "localname": "FairValueLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.topbuild.com/role/DisclosureFairValueMeasurementsTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_FairValueMeasurementFrequencyDomain": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Measurement frequency.",
        "label": "Measurement Frequency [Domain]"
       }
      }
     },
     "localname": "FairValueMeasurementFrequencyDomain",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.topbuild.com/role/DisclosureFairValueMeasurementsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_FairValueMeasurementsFairValueHierarchyDomain": {
     "auth_ref": [
      "r283",
      "r315",
      "r316",
      "r317",
      "r318",
      "r319",
      "r320",
      "r419",
      "r420",
      "r421",
      "r455",
      "r456",
      "r467",
      "r468",
      "r469"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Categories used to prioritize the inputs to valuation techniques to measure fair value.",
        "label": "Fair Value Hierarchy and NAV [Domain]"
       }
      }
     },
     "localname": "FairValueMeasurementsFairValueHierarchyDomain",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.topbuild.com/role/DisclosureFairValueMeasurementsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_FairValueMeasurementsNonrecurringMember": {
     "auth_ref": [
      "r391",
      "r392",
      "r393",
      "r394",
      "r395",
      "r398"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Infrequent fair value measurement. Includes, but is not limited to, fair value adjustment for impairment of asset, liability or equity, not frequently measured at fair value.",
        "label": "Fair Value on Non-Recurring Basis"
       }
      }
     },
     "localname": "FairValueMeasurementsNonrecurringMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.topbuild.com/role/DisclosureFairValueMeasurementsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_FinanceLeaseLiabilityCurrent": {
     "auth_ref": [
      "r416"
     ],
     "calculation": {
      "http://www.topbuild.com/role/StatementCondensedConsolidatedBalanceSheets": {
       "order": 5.0,
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Present value of lessee's discounted obligation for lease payments from finance lease, classified as current.",
        "label": "Finance Lease, Liability, Current",
        "terseLabel": "Short-term finance lease liabilities"
       }
      }
     },
     "localname": "FinanceLeaseLiabilityCurrent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.topbuild.com/role/StatementCondensedConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FinanceLeaseLiabilityNoncurrent": {
     "auth_ref": [
      "r416"
     ],
     "calculation": {
      "http://www.topbuild.com/role/StatementCondensedConsolidatedBalanceSheets": {
       "order": 7.0,
       "parentTag": "us-gaap_Liabilities",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Present value of lessee's discounted obligation for lease payments from finance lease, classified as noncurrent.",
        "label": "Finance Lease, Liability, Noncurrent",
        "terseLabel": "Long-term finance lease liabilities"
       }
      }
     },
     "localname": "FinanceLeaseLiabilityNoncurrent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.topbuild.com/role/StatementCondensedConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization": {
     "auth_ref": [
      "r140",
      "r252"
     ],
     "calculation": {
      "http://www.topbuild.com/role/DisclosureGoodwillAndOtherIntangiblesOtherIntangibleAssetsDetails": {
       "order": 2.0,
       "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Accumulated amount of amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life.",
        "label": "Finite-Lived Intangible Assets, Accumulated Amortization",
        "negatedLabel": "Accumulated Amortization"
       }
      }
     },
     "localname": "FiniteLivedIntangibleAssetsAccumulatedAmortization",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.topbuild.com/role/DisclosureGoodwillAndOtherIntangiblesOtherIntangibleAssetsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseTableTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of amortization expense of assets, excluding financial assets, that lack physical substance, having a limited useful life.",
        "label": "Finite-lived Intangible Assets Amortization Expense [Table Text Block]",
        "terseLabel": "Schedule of amortization expense"
       }
      }
     },
     "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.topbuild.com/role/DisclosureGoodwillAndOtherIntangiblesTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_FiniteLivedIntangibleAssetsGross": {
     "auth_ref": [
      "r68",
      "r427"
     ],
     "calculation": {
      "http://www.topbuild.com/role/DisclosureGoodwillAndOtherIntangiblesOtherIntangibleAssetsDetails": {
       "order": 1.0,
       "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount before amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life.",
        "label": "Finite-Lived Intangible Assets, Gross",
        "terseLabel": "Gross Definite-lived intangible assets"
       }
      }
     },
     "localname": "FiniteLivedIntangibleAssetsGross",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.topbuild.com/role/DisclosureGoodwillAndOtherIntangiblesOtherIntangibleAssetsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FiniteLivedIntangibleAssetsNet": {
     "auth_ref": [
      "r68",
      "r426"
     ],
     "calculation": {
      "http://www.topbuild.com/role/DisclosureGoodwillAndOtherIntangiblesOtherIntangibleAssetsDetails": {
       "order": 1.0,
       "parentTag": "us-gaap_IntangibleAssetsNetExcludingGoodwill",
       "weight": 1.0
      },
      "http://www.topbuild.com/role/StatementCondensedConsolidatedBalanceSheets": {
       "order": 3.0,
       "parentTag": "us-gaap_Assets",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount after amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life.",
        "label": "Finite-Lived Intangible Assets, Net",
        "totalLabel": "Net definite-lived intangible assets",
        "verboseLabel": "Other intangible assets, net"
       }
      }
     },
     "localname": "FiniteLivedIntangibleAssetsNet",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.topbuild.com/role/DisclosureGoodwillAndOtherIntangiblesOtherIntangibleAssetsDetails",
      "http://www.topbuild.com/role/StatementCondensedConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_GainLossOnSaleOfPropertyPlantEquipment": {
     "auth_ref": [
      "r49"
     ],
     "calculation": {
      "http://www.topbuild.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": {
       "order": 3.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of gain (loss) on sale or disposal of property, plant and equipment assets, including oil and gas property and timber property.",
        "label": "Gain (Loss) on Disposition of Property Plant Equipment",
        "negatedLabel": "Loss on sale of property and equipment"
       }
      }
     },
     "localname": "GainLossOnSaleOfPropertyPlantEquipment",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.topbuild.com/role/StatementCondensedConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_Goodwill": {
     "auth_ref": [
      "r139",
      "r239",
      "r428",
      "r453",
      "r478",
      "r505",
      "r512"
     ],
     "calculation": {
      "http://www.topbuild.com/role/DisclosureBusinessCombinationsSummaryDetails": {
       "order": 1.0,
       "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet",
       "weight": 1.0
      },
      "http://www.topbuild.com/role/DisclosureGoodwillAndOtherIntangiblesGoodwillDetails": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      },
      "http://www.topbuild.com/role/StatementCondensedConsolidatedBalanceSheets": {
       "order": 2.0,
       "parentTag": "us-gaap_Assets",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount after accumulated impairment loss of an asset representing future economic benefits arising from other assets acquired in a business combination that are not individually identified and separately recognized.",
        "label": "Goodwill",
        "terseLabel": "Goodwill",
        "totalLabel": "Net Goodwill"
       }
      }
     },
     "localname": "Goodwill",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.topbuild.com/role/DisclosureBusinessCombinationsSummaryDetails",
      "http://www.topbuild.com/role/DisclosureGoodwillAndOtherIntangiblesGoodwillDetails",
      "http://www.topbuild.com/role/StatementCondensedConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_GoodwillAcquiredDuringPeriod": {
     "auth_ref": [
      "r242",
      "r453"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of increase in asset representing future economic benefits arising from other assets acquired in a business combination that are not individually identified and separately recognized resulting from a business combination.",
        "label": "Goodwill, Acquired During Period",
        "verboseLabel": "Goodwill Acquired"
       }
      }
     },
     "localname": "GoodwillAcquiredDuringPeriod",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.topbuild.com/role/DisclosureBusinessCombinationsSummaryDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Goodwill and Other Intangibles"
       }
      }
     },
     "localname": "GoodwillAndIntangibleAssetsDisclosureAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "xbrltype": "stringItemType"
    },
    "us-gaap_GoodwillAndIntangibleAssetsDisclosureTextBlock": {
     "auth_ref": [
      "r70"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for goodwill and intangible assets.",
        "label": "Goodwill and Intangible Assets Disclosure [Text Block]",
        "terseLabel": "Goodwill and Other Intangibles"
       }
      }
     },
     "localname": "GoodwillAndIntangibleAssetsDisclosureTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.topbuild.com/role/DisclosureGoodwillAndOtherIntangibles"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_GoodwillForeignCurrencyTranslationGainLoss": {
     "auth_ref": [
      "r246"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of foreign currency translation gain (loss) which increases (decreases) an asset representing future economic benefits from other assets acquired in a business combination that are not individually identified and separately recognized.",
        "label": "Goodwill, Foreign Currency Translation Gain (Loss)",
        "terseLabel": "Fx Translation Adjustment"
       }
      }
     },
     "localname": "GoodwillForeignCurrencyTranslationGainLoss",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.topbuild.com/role/DisclosureGoodwillAndOtherIntangiblesGoodwillDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_GoodwillGross": {
     "auth_ref": [
      "r241",
      "r248",
      "r453"
     ],
     "calculation": {
      "http://www.topbuild.com/role/DisclosureGoodwillAndOtherIntangiblesGoodwillDetails": {
       "order": 2.0,
       "parentTag": "us-gaap_Goodwill",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount before accumulated impairment loss of an asset representing future economic benefits arising from other assets acquired in a business combination that are not individually identified and separately recognized.",
        "label": "Goodwill, Gross",
        "periodEndLabel": "Gross Goodwill, at end of period",
        "periodStartLabel": "Gross Goodwill, at beginning of period"
       }
      }
     },
     "localname": "GoodwillGross",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.topbuild.com/role/DisclosureGoodwillAndOtherIntangiblesGoodwillDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_GoodwillImpairedAccumulatedImpairmentLoss": {
     "auth_ref": [
      "r241",
      "r248",
      "r453"
     ],
     "calculation": {
      "http://www.topbuild.com/role/DisclosureGoodwillAndOtherIntangiblesGoodwillDetails": {
       "order": 1.0,
       "parentTag": "us-gaap_Goodwill",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of accumulated impairment loss for an asset representing future economic benefits arising from other assets acquired in a business combination that are not individually identified and separately recognized.",
        "label": "Goodwill, Impaired, Accumulated Impairment Loss",
        "negatedLabel": "Accumulated Impairment Losses"
       }
      }
     },
     "localname": "GoodwillImpairedAccumulatedImpairmentLoss",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.topbuild.com/role/DisclosureGoodwillAndOtherIntangiblesGoodwillDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_GoodwillImpairmentLoss": {
     "auth_ref": [
      "r49",
      "r240",
      "r245",
      "r251",
      "r453"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of loss from the write-down of an asset representing the future economic benefits arising from other assets acquired in a business combination that are not individually identified and separately recognized.",
        "label": "Goodwill, Impairment Loss",
        "terseLabel": "Impairment of goodwill"
       }
      }
     },
     "localname": "GoodwillImpairmentLoss",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.topbuild.com/role/DisclosureGoodwillAndOtherIntangiblesGoodwillDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_GoodwillLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.",
        "label": "Goodwill [Line Items]",
        "terseLabel": "Changes in the carrying amount of goodwill"
       }
      }
     },
     "localname": "GoodwillLineItems",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.topbuild.com/role/DisclosureGoodwillAndOtherIntangiblesGoodwillDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_GoodwillPeriodIncreaseDecrease": {
     "auth_ref": [
      "r513"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of increase (decrease) of an asset representing future economic benefits arising from other assets acquired in a business combination that are not individually identified and separately recognized.",
        "label": "Goodwill, Period Increase (Decrease)",
        "terseLabel": "Additions"
       }
      }
     },
     "localname": "GoodwillPeriodIncreaseDecrease",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.topbuild.com/role/DisclosureGoodwillAndOtherIntangiblesGoodwillDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_GrossProfit": {
     "auth_ref": [
      "r34",
      "r167",
      "r210",
      "r215",
      "r221",
      "r224",
      "r234",
      "r262",
      "r263",
      "r265",
      "r266",
      "r267",
      "r269",
      "r271",
      "r273",
      "r274",
      "r400",
      "r452",
      "r521"
     ],
     "calculation": {
      "http://www.topbuild.com/role/StatementCondensedConsolidatedStatementsOfOperations": {
       "order": 2.0,
       "parentTag": "us-gaap_OperatingIncomeLoss",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Aggregate revenue less cost of goods and services sold or operating expenses directly attributable to the revenue generation activity.",
        "label": "Gross Profit",
        "totalLabel": "Gross profit"
       }
      }
     },
     "localname": "GrossProfit",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.topbuild.com/role/StatementCondensedConsolidatedStatementsOfOperations"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest": {
     "auth_ref": [
      "r31",
      "r112",
      "r119",
      "r132",
      "r210",
      "r215",
      "r221",
      "r224",
      "r432",
      "r452"
     ],
     "calculation": {
      "http://www.topbuild.com/role/StatementCondensedConsolidatedStatementsOfOperations": {
       "order": 1.0,
       "parentTag": "us-gaap_NetIncomeLoss",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of income (loss) from continuing operations, including income (loss) from equity method investments, before deduction of income tax expense (benefit), and income (loss) attributable to noncontrolling interest.",
        "label": "Income (Loss) from Continuing Operations before Income Taxes, Noncontrolling Interest",
        "totalLabel": "Income before income taxes"
       }
      }
     },
     "localname": "IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.topbuild.com/role/DisclosureSegmentInformationDetails",
      "http://www.topbuild.com/role/StatementCondensedConsolidatedStatementsOfOperations"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncomeStatementAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "CONDENSED CONSOLIDATED STATEMENTS OF OPERATIONS"
       }
      }
     },
     "localname": "IncomeStatementAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "xbrltype": "stringItemType"
    },
    "us-gaap_IncomeTaxDisclosureAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Income Taxes"
       }
      }
     },
     "localname": "IncomeTaxDisclosureAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "xbrltype": "stringItemType"
    },
    "us-gaap_IncomeTaxDisclosureTextBlock": {
     "auth_ref": [
      "r168",
      "r366",
      "r367",
      "r368",
      "r371",
      "r373",
      "r375",
      "r376",
      "r377"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for income taxes. Disclosures may include net deferred tax liability or asset recognized in an enterprise's statement of financial position, net change during the year in the total valuation allowance, approximate tax effect of each type of temporary difference and carryforward that gives rise to a significant portion of deferred tax liabilities and deferred tax assets, utilization of a tax carryback, and tax uncertainties information.",
        "label": "Income Tax Disclosure [Text Block]",
        "terseLabel": "Income Taxes"
       }
      }
     },
     "localname": "IncomeTaxDisclosureTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.topbuild.com/role/DisclosureIncomeTaxes"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_IncomeTaxExpenseBenefit": {
     "auth_ref": [
      "r169",
      "r182",
      "r183",
      "r208",
      "r364",
      "r372",
      "r374",
      "r437"
     ],
     "calculation": {
      "http://www.topbuild.com/role/StatementCondensedConsolidatedStatementsOfOperations": {
       "order": 2.0,
       "parentTag": "us-gaap_NetIncomeLoss",
       "weight": -1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations.",
        "label": "Income Tax Expense (Benefit)",
        "negatedLabel": "Income tax expense"
       }
      }
     },
     "localname": "IncomeTaxExpenseBenefit",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.topbuild.com/role/StatementCondensedConsolidatedStatementsOfOperations"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncreaseDecreaseInAccountsPayable": {
     "auth_ref": [
      "r48"
     ],
     "calculation": {
      "http://www.topbuild.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": {
       "order": 10.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The increase (decrease) during the reporting period in the aggregate amount of liabilities incurred (and for which invoices have typically been received) and payable to vendors for goods and services received that are used in an entity's business.",
        "label": "Increase (Decrease) in Accounts Payable",
        "terseLabel": "Accounts payable"
       }
      }
     },
     "localname": "IncreaseDecreaseInAccountsPayable",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.topbuild.com/role/StatementCondensedConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncreaseDecreaseInAccountsReceivable": {
     "auth_ref": [
      "r48"
     ],
     "calculation": {
      "http://www.topbuild.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": {
       "order": 7.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The increase (decrease) during the reporting period in amount due within one year (or one business cycle) from customers for the credit sale of goods and services.",
        "label": "Increase (Decrease) in Accounts Receivable",
        "negatedLabel": "Receivables, net"
       }
      }
     },
     "localname": "IncreaseDecreaseInAccountsReceivable",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.topbuild.com/role/StatementCondensedConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncreaseDecreaseInAccruedLiabilities": {
     "auth_ref": [
      "r48"
     ],
     "calculation": {
      "http://www.topbuild.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": {
       "order": 11.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The increase (decrease) during the reporting period in the aggregate amount of expenses incurred but not yet paid.",
        "label": "Increase (Decrease) in Accrued Liabilities",
        "terseLabel": "Accrued liabilities"
       }
      }
     },
     "localname": "IncreaseDecreaseInAccruedLiabilities",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.topbuild.com/role/StatementCondensedConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncreaseDecreaseInDeferredIncomeTaxes": {
     "auth_ref": [
      "r48"
     ],
     "calculation": {
      "http://www.topbuild.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": {
       "order": 12.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The increase (decrease) during the reporting period in the account that represents the temporary difference that results from Income or Loss that is recognized for accounting purposes but not for tax purposes and vice versa.",
        "label": "Increase (Decrease) in Deferred Income Taxes",
        "negatedLabel": "Deferred income taxes, net"
       }
      }
     },
     "localname": "IncreaseDecreaseInDeferredIncomeTaxes",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.topbuild.com/role/StatementCondensedConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncreaseDecreaseInInventories": {
     "auth_ref": [
      "r48"
     ],
     "calculation": {
      "http://www.topbuild.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": {
       "order": 8.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The increase (decrease) during the reporting period in the aggregate value of all inventory held by the reporting entity, associated with underlying transactions that are classified as operating activities.",
        "label": "Increase (Decrease) in Inventories",
        "negatedLabel": "Inventories, net"
       }
      }
     },
     "localname": "IncreaseDecreaseInInventories",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.topbuild.com/role/StatementCondensedConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncreaseDecreaseInOperatingCapitalAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Increase (Decrease) in Operating Capital [Abstract]",
        "terseLabel": "Change in certain assets and liabilities:"
       }
      }
     },
     "localname": "IncreaseDecreaseInOperatingCapitalAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.topbuild.com/role/StatementCondensedConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets": {
     "auth_ref": [
      "r48"
     ],
     "calculation": {
      "http://www.topbuild.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": {
       "order": 9.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of increase (decrease) in prepaid expenses, and assets classified as other.",
        "label": "Increase (Decrease) in Prepaid Expense and Other Assets",
        "negatedLabel": "Prepaid expenses and other current assets"
       }
      }
     },
     "localname": "IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.topbuild.com/role/StatementCondensedConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncreaseDecreaseInStockholdersEquityRollForward": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period.",
        "label": "Increase (Decrease) in Stockholders' Equity [Roll Forward]",
        "terseLabel": "Increase (Decrease) in Stockholders' Equity"
       }
      }
     },
     "localname": "IncreaseDecreaseInStockholdersEquityRollForward",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.topbuild.com/role/StatementCondensedConsolidatedStatementsOfChangesInEquity"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_IntangibleAssetsNetExcludingGoodwill": {
     "auth_ref": [
      "r65",
      "r67"
     ],
     "calculation": {
      "http://www.topbuild.com/role/DisclosureGoodwillAndOtherIntangiblesOtherIntangibleAssetsDetails": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Sum of the carrying amounts of all intangible assets, excluding goodwill, as of the balance sheet date, net of accumulated amortization and impairment charges.",
        "label": "Intangible Assets, Net (Excluding Goodwill)",
        "totalLabel": "Other intangible asset, net"
       }
      }
     },
     "localname": "IntangibleAssetsNetExcludingGoodwill",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.topbuild.com/role/DisclosureGoodwillAndOtherIntangiblesOtherIntangibleAssetsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IntangibleAssetsNetExcludingGoodwillAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Finite-Lived Intangible Assets, Net [Abstract]",
        "terseLabel": "Other intangible assets"
       }
      }
     },
     "localname": "IntangibleAssetsNetExcludingGoodwillAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.topbuild.com/role/DisclosureGoodwillAndOtherIntangiblesOtherIntangibleAssetsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_InterestExpense": {
     "auth_ref": [
      "r110",
      "r121",
      "r158",
      "r204",
      "r412"
     ],
     "calculation": {
      "http://www.topbuild.com/role/StatementCondensedConsolidatedStatementsOfOperations": {
       "order": 2.0,
       "parentTag": "us-gaap_NonoperatingIncomeExpense",
       "weight": -1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of the cost of borrowed funds accounted for as interest expense.",
        "label": "Interest Expense",
        "negatedLabel": "Interest expense"
       }
      }
     },
     "localname": "InterestExpense",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.topbuild.com/role/StatementCondensedConsolidatedStatementsOfOperations"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_InterestPayableCurrent": {
     "auth_ref": [
      "r16"
     ],
     "calculation": {
      "http://www.topbuild.com/role/DisclosureAccruedLiabilitiesDetails": {
       "order": 6.0,
       "parentTag": "bld_AccruedLiabilitiesAndEmployeeRelatedLiabilitiesCurrent",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Carrying value as of the balance sheet date of [accrued] interest payable on all forms of debt, including trade payables, that has been incurred and is unpaid. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).",
        "label": "Interest Payable, Current",
        "terseLabel": "Interest payable on long-term debt"
       }
      }
     },
     "localname": "InterestPayableCurrent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.topbuild.com/role/DisclosureAccruedLiabilitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IntersegmentEliminationMember": {
     "auth_ref": [
      "r202",
      "r214",
      "r215",
      "r216",
      "r217",
      "r218",
      "r220",
      "r224"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Eliminating entries used in operating segment consolidation.",
        "label": "Intercompany Eliminations"
       }
      }
     },
     "localname": "IntersegmentEliminationMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.topbuild.com/role/DisclosureSegmentInformationDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_InventoryNet": {
     "auth_ref": [
      "r147",
      "r449",
      "r478"
     ],
     "calculation": {
      "http://www.topbuild.com/role/StatementCondensedConsolidatedBalanceSheets": {
       "order": 3.0,
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount after valuation and LIFO reserves of inventory expected to be sold, or consumed within one year or operating cycle, if longer.",
        "label": "Inventory, Net",
        "terseLabel": "Inventories, net"
       }
      }
     },
     "localname": "InventoryNet",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.topbuild.com/role/StatementCondensedConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_InventoryWriteDown": {
     "auth_ref": [
      "r238"
     ],
     "calculation": {
      "http://www.topbuild.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": {
       "order": 6.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of loss from reductions in inventory due to subsequent measurement adjustments, including, but not limited to, physical deterioration, obsolescence, or changes in price levels.",
        "label": "Inventory Write-down",
        "terseLabel": "Loss from inventory obsolescence"
       }
      }
     },
     "localname": "InventoryWriteDown",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.topbuild.com/role/StatementCondensedConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LettersOfCreditOutstandingAmount": {
     "auth_ref": [],
     "calculation": {
      "http://www.topbuild.com/role/DisclosureLongTermDebtRevolvingFacilityDetails": {
       "order": 1.0,
       "parentTag": "us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The total amount of the contingent obligation under letters of credit outstanding as of the reporting date.",
        "label": "Letters of Credit Outstanding, Amount",
        "negatedLabel": "Less: standby letters of credit"
       }
      }
     },
     "localname": "LettersOfCreditOutstandingAmount",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.topbuild.com/role/DisclosureLongTermDebtRevolvingFacilityDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_Liabilities": {
     "auth_ref": [
      "r15",
      "r167",
      "r234",
      "r262",
      "r263",
      "r265",
      "r266",
      "r267",
      "r269",
      "r271",
      "r273",
      "r274",
      "r383",
      "r386",
      "r387",
      "r400",
      "r451",
      "r521",
      "r560",
      "r561"
     ],
     "calculation": {
      "http://www.topbuild.com/role/StatementCondensedConsolidatedBalanceSheets": {
       "order": 1.0,
       "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Sum of the carrying amounts as of the balance sheet date of all liabilities that are recognized. Liabilities are probable future sacrifices of economic benefits arising from present obligations of an entity to transfer assets or provide services to other entities in the future.",
        "label": "Liabilities",
        "totalLabel": "Total liabilities"
       }
      }
     },
     "localname": "Liabilities",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.topbuild.com/role/StatementCondensedConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LiabilitiesAndStockholdersEquity": {
     "auth_ref": [
      "r10",
      "r117",
      "r129",
      "r478",
      "r495",
      "r504",
      "r558"
     ],
     "calculation": {
      "http://www.topbuild.com/role/StatementCondensedConsolidatedBalanceSheets": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of liabilities and equity items, including the portion of equity attributable to noncontrolling interests, if any.",
        "label": "Liabilities and Equity",
        "totalLabel": "Total liabilities and equity"
       }
      }
     },
     "localname": "LiabilitiesAndStockholdersEquity",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.topbuild.com/role/StatementCondensedConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LiabilitiesAndStockholdersEquityAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Liabilities and Equity [Abstract]",
        "terseLabel": "LIABILITIES AND EQUITY"
       }
      }
     },
     "localname": "LiabilitiesAndStockholdersEquityAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.topbuild.com/role/StatementCondensedConsolidatedBalanceSheets"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_LiabilitiesCurrent": {
     "auth_ref": [
      "r17",
      "r137",
      "r167",
      "r234",
      "r262",
      "r263",
      "r265",
      "r266",
      "r267",
      "r269",
      "r271",
      "r273",
      "r274",
      "r383",
      "r386",
      "r387",
      "r400",
      "r478",
      "r521",
      "r560",
      "r561"
     ],
     "calculation": {
      "http://www.topbuild.com/role/StatementCondensedConsolidatedBalanceSheets": {
       "order": 1.0,
       "parentTag": "us-gaap_Liabilities",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Total obligations incurred as part of normal operations that are expected to be paid during the following twelve months or within one business cycle, if longer.",
        "label": "Liabilities, Current",
        "totalLabel": "Total current liabilities"
       }
      }
     },
     "localname": "LiabilitiesCurrent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.topbuild.com/role/StatementCondensedConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LiabilitiesCurrentAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Liabilities, Current [Abstract]",
        "terseLabel": "Current liabilities:"
       }
      }
     },
     "localname": "LiabilitiesCurrentAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.topbuild.com/role/StatementCondensedConsolidatedBalanceSheets"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_LineOfCreditFacilityCurrentBorrowingCapacity": {
     "auth_ref": [
      "r12"
     ],
     "calculation": {
      "http://www.topbuild.com/role/DisclosureLongTermDebtRevolvingFacilityDetails": {
       "order": 2.0,
       "parentTag": "us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of current borrowing capacity under the credit facility considering any current restrictions on the amount that could be borrowed (for example, borrowings may be limited by the amount of current assets), but without considering any amounts currently outstanding under the facility.",
        "label": "Line of Credit Facility, Current Borrowing Capacity",
        "terseLabel": "Availability under revolving facility"
       }
      }
     },
     "localname": "LineOfCreditFacilityCurrentBorrowingCapacity",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.topbuild.com/role/DisclosureLongTermDebtRevolvingFacilityDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity": {
     "auth_ref": [
      "r12"
     ],
     "calculation": {
      "http://www.topbuild.com/role/DisclosureLongTermDebtRevolvingFacilityDetails": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Maximum borrowing capacity under the credit facility without consideration of any current restrictions on the amount that could be borrowed or the amounts currently outstanding under the facility.",
        "label": "Line of Credit Facility, Maximum Borrowing Capacity",
        "totalLabel": "Revolving Facility",
        "verboseLabel": "Availability"
       }
      }
     },
     "localname": "LineOfCreditFacilityMaximumBorrowingCapacity",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.topbuild.com/role/DisclosureLongTermDebtKeyTermsOfCreditAgreementDetails",
      "http://www.topbuild.com/role/DisclosureLongTermDebtRevolvingFacilityDetails",
      "http://www.topbuild.com/role/DisclosureLongTermDebtSeniorNotesAndEquipmentNotesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LineOfCreditFacilityTable": {
     "auth_ref": [
      "r12",
      "r494"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "A table or schedule providing information pertaining to short-term or long-term contractual arrangements with lenders, including letters of credit, standby letters of credit, and revolving credit arrangements, under which borrowings can be made up to maximum amount as of any point in time conditional on satisfaction of specified terms before, as of and after the date of drawdowns on the line.",
        "label": "Line of Credit Facility [Table]"
       }
      }
     },
     "localname": "LineOfCreditFacilityTable",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.topbuild.com/role/DisclosureLongTermDebtOtherDetails",
      "http://www.topbuild.com/role/DisclosureLongTermDebtRevolvingFacilityDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The fee, expressed as a percentage of the line of credit facility, for available but unused credit capacity under the credit facility.",
        "label": "Line of Credit Facility, Unused Capacity, Commitment Fee Percentage",
        "terseLabel": "Commitment fee (as a percent)"
       }
      }
     },
     "localname": "LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.topbuild.com/role/DisclosureLongTermDebtKeyTermsOfCreditAgreementDetails",
      "http://www.topbuild.com/role/DisclosureLongTermDebtRevolvingFacilityDetails",
      "http://www.topbuild.com/role/DisclosureLongTermDebtSeniorNotesAndEquipmentNotesDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_LongTermDebt": {
     "auth_ref": [
      "r3",
      "r116",
      "r127",
      "r282",
      "r293",
      "r455",
      "r456"
     ],
     "calculation": {
      "http://www.topbuild.com/role/DisclosureLongTermDebtReconciliationDetails": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      },
      "http://www.topbuild.com/role/DisclosureLongTermDebtReconciliationDetailsCalc2": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount, excluding unamortized premium (discount) and debt issuance cost, of long-term debt. Excludes lease obligation.",
        "label": "Long-term Debt.",
        "totalLabel": "Total debt, net of unamortized debt issuance costs",
        "verboseLabel": "Amount outstanding"
       }
      }
     },
     "localname": "LongTermDebt",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.topbuild.com/role/DisclosureLongTermDebtReconciliationDetails",
      "http://www.topbuild.com/role/DisclosureLongTermDebtSeniorNotesAndEquipmentNotesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LongTermDebtByMaturityAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Long-term Debt, Fiscal Year Maturity [Abstract]",
        "terseLabel": "Schedule of Debt Maturity by Years:"
       }
      }
     },
     "localname": "LongTermDebtByMaturityAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.topbuild.com/role/DisclosureLongTermDebtScheduleOfDebtMaturityDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_LongTermDebtCurrent": {
     "auth_ref": [
      "r14"
     ],
     "calculation": {
      "http://www.topbuild.com/role/DisclosureLongTermDebtReconciliationDetailsCalc2": {
       "order": 1.0,
       "parentTag": "us-gaap_LongTermDebt",
       "weight": 1.0
      },
      "http://www.topbuild.com/role/StatementCondensedConsolidatedBalanceSheets": {
       "order": 3.0,
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount, after unamortized (discount) premium and debt issuance costs, of long-term debt, classified as current. Includes, but not limited to, notes payable, bonds payable, debentures, mortgage loans and commercial paper. Excludes capital lease obligations.",
        "label": "Long-term Debt, Current Maturities",
        "terseLabel": "Current portion of long-term debt",
        "verboseLabel": "Less: current portion of long-term debt"
       }
      }
     },
     "localname": "LongTermDebtCurrent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.topbuild.com/role/DisclosureLongTermDebtReconciliationDetails",
      "http://www.topbuild.com/role/StatementCondensedConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths": {
     "auth_ref": [
      "r72",
      "r170",
      "r286"
     ],
     "calculation": {
      "http://www.topbuild.com/role/DisclosureLongTermDebtScheduleOfDebtMaturityDetails": {
       "order": 1.0,
       "parentTag": "us-gaap_DebtInstrumentCarryingAmount",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of long-term debt payable, sinking fund requirement, and other securities issued that are redeemable by holder at fixed or determinable price and date, maturing in next fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).",
        "label": "Long-term Debt, Maturities, Repayments of Principal in Next Twelve Months",
        "terseLabel": "2024"
       }
      }
     },
     "localname": "LongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.topbuild.com/role/DisclosureLongTermDebtScheduleOfDebtMaturityDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearThree": {
     "auth_ref": [
      "r72",
      "r170",
      "r286"
     ],
     "calculation": {
      "http://www.topbuild.com/role/DisclosureLongTermDebtScheduleOfDebtMaturityDetails": {
       "order": 4.0,
       "parentTag": "us-gaap_DebtInstrumentCarryingAmount",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of long-term debt payable, sinking fund requirement, and other securities issued that are redeemable by holder at fixed or determinable price and date, maturing in third fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).",
        "label": "Long-term Debt, Maturities, Repayments of Principal in Year Three",
        "terseLabel": "2026"
       }
      }
     },
     "localname": "LongTermDebtMaturitiesRepaymentsOfPrincipalInYearThree",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.topbuild.com/role/DisclosureLongTermDebtScheduleOfDebtMaturityDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearTwo": {
     "auth_ref": [
      "r72",
      "r170",
      "r286"
     ],
     "calculation": {
      "http://www.topbuild.com/role/DisclosureLongTermDebtScheduleOfDebtMaturityDetails": {
       "order": 3.0,
       "parentTag": "us-gaap_DebtInstrumentCarryingAmount",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of long-term debt payable, sinking fund requirement, and other securities issued that are redeemable by holder at fixed or determinable price and date, maturing in second fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).",
        "label": "Long-term Debt, Maturities, Repayments of Principal in Year Two",
        "terseLabel": "2025"
       }
      }
     },
     "localname": "LongTermDebtMaturitiesRepaymentsOfPrincipalInYearTwo",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.topbuild.com/role/DisclosureLongTermDebtScheduleOfDebtMaturityDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalRemainderOfFiscalYear": {
     "auth_ref": [
      "r496"
     ],
     "calculation": {
      "http://www.topbuild.com/role/DisclosureLongTermDebtScheduleOfDebtMaturityDetails": {
       "order": 2.0,
       "parentTag": "us-gaap_DebtInstrumentCarryingAmount",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of long-term debt payable, sinking fund requirement, and other securities issued that are redeemable by holder at fixed or determinable price and date, maturing in remainder of current fiscal year.",
        "label": "Long-term Debt, Maturities, Repayments of Principal, Remainder of Fiscal Year",
        "terseLabel": "2023"
       }
      }
     },
     "localname": "LongTermDebtMaturitiesRepaymentsOfPrincipalRemainderOfFiscalYear",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.topbuild.com/role/DisclosureLongTermDebtScheduleOfDebtMaturityDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LongTermDebtNoncurrent": {
     "auth_ref": [
      "r143"
     ],
     "calculation": {
      "http://www.topbuild.com/role/DisclosureLongTermDebtReconciliationDetailsCalc2": {
       "order": 2.0,
       "parentTag": "us-gaap_LongTermDebt",
       "weight": 1.0
      },
      "http://www.topbuild.com/role/StatementCondensedConsolidatedBalanceSheets": {
       "order": 2.0,
       "parentTag": "us-gaap_Liabilities",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount, excluding unamortized premium (discount) and debt issuance cost, of long-term debt classified as noncurrent. Excludes lease obligation.",
        "label": "Long-term Debt, Excluding Current Maturities",
        "terseLabel": "Long-term debt",
        "verboseLabel": "Total long-term debt"
       }
      }
     },
     "localname": "LongTermDebtNoncurrent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.topbuild.com/role/DisclosureLongTermDebtReconciliationDetails",
      "http://www.topbuild.com/role/StatementCondensedConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LongTermDebtOtherDisclosuresAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Long-term Debt, Other Disclosures [Abstract]",
        "terseLabel": "Debt covenants"
       }
      }
     },
     "localname": "LongTermDebtOtherDisclosuresAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.topbuild.com/role/DisclosureLongTermDebtOtherDetails",
      "http://www.topbuild.com/role/DisclosureLongTermDebtRevolvingFacilityDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_LongTermDebtTextBlock": {
     "auth_ref": [
      "r74"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for long-term debt.",
        "label": "Long-term Debt [Text Block]",
        "terseLabel": "Long-Term Debt"
       }
      }
     },
     "localname": "LongTermDebtTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.topbuild.com/role/DisclosureLongTermDebt"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_LongtermDebtTypeAxis": {
     "auth_ref": [
      "r19"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by type of long-term debt.",
        "label": "Long-term Debt, Type [Axis]"
       }
      }
     },
     "localname": "LongtermDebtTypeAxis",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.topbuild.com/role/DisclosureLongTermDebtKeyTermsOfCreditAgreementDetails",
      "http://www.topbuild.com/role/DisclosureLongTermDebtOtherDetails",
      "http://www.topbuild.com/role/DisclosureLongTermDebtReconciliationDetails",
      "http://www.topbuild.com/role/DisclosureLongTermDebtScheduleOfDebtMaturityDetails",
      "http://www.topbuild.com/role/DisclosureLongTermDebtSeniorNotesAndEquipmentNotesDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_LongtermDebtTypeDomain": {
     "auth_ref": [
      "r19",
      "r73"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Type of long-term debt arrangement, such as notes, line of credit, commercial paper, asset-based financing, project financing, letter of credit financing. These are debt arrangements that originally required repayment more than twelve months after issuance or greater than the normal operating cycle of the company, if longer.",
        "label": "Long-term Debt, Type [Domain]"
       }
      }
     },
     "localname": "LongtermDebtTypeDomain",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.topbuild.com/role/DisclosureLongTermDebtKeyTermsOfCreditAgreementDetails",
      "http://www.topbuild.com/role/DisclosureLongTermDebtOtherDetails",
      "http://www.topbuild.com/role/DisclosureLongTermDebtReconciliationDetails",
      "http://www.topbuild.com/role/DisclosureLongTermDebtScheduleOfDebtMaturityDetails",
      "http://www.topbuild.com/role/DisclosureLongTermDebtSeniorNotesAndEquipmentNotesDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_NetCashProvidedByUsedInFinancingActivities": {
     "auth_ref": [
      "r165"
     ],
     "calculation": {
      "http://www.topbuild.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": {
       "order": 1.0,
       "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of cash inflow (outflow) from financing activities, including discontinued operations. Financing activity cash flows include obtaining resources from owners and providing them with a return on, and a return of, their investment; borrowing money and repaying amounts borrowed, or settling the obligation; and obtaining and paying for other resources obtained from creditors on long-term credit.",
        "label": "Net Cash Provided by (Used in) Financing Activities, Continuing Operations",
        "totalLabel": "Net cash used in financing activities"
       }
      }
     },
     "localname": "NetCashProvidedByUsedInFinancingActivities",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.topbuild.com/role/StatementCondensedConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_NetCashProvidedByUsedInFinancingActivitiesContinuingOperationsAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Net Cash Provided by (Used in) Financing Activities, Continuing Operations [Abstract]",
        "terseLabel": "Cash Flows Provided by (Used in) Financing Activities:"
       }
      }
     },
     "localname": "NetCashProvidedByUsedInFinancingActivitiesContinuingOperationsAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.topbuild.com/role/StatementCondensedConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_NetCashProvidedByUsedInInvestingActivities": {
     "auth_ref": [
      "r165"
     ],
     "calculation": {
      "http://www.topbuild.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": {
       "order": 2.0,
       "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of cash inflow (outflow) from investing activities, including discontinued operations. Investing activity cash flows include making and collecting loans and acquiring and disposing of debt or equity instruments and property, plant, and equipment and other productive assets.",
        "label": "Net Cash Provided by (Used in) Investing Activities, Continuing Operations",
        "totalLabel": "Net cash used in investing activities"
       }
      }
     },
     "localname": "NetCashProvidedByUsedInInvestingActivities",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.topbuild.com/role/StatementCondensedConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_NetCashProvidedByUsedInInvestingActivitiesContinuingOperationsAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Net Cash Provided by (Used in) Investing Activities, Continuing Operations [Abstract]",
        "terseLabel": "Cash Flows Provided by (Used in) Investing Activities:"
       }
      }
     },
     "localname": "NetCashProvidedByUsedInInvestingActivitiesContinuingOperationsAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.topbuild.com/role/StatementCondensedConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_NetCashProvidedByUsedInOperatingActivities": {
     "auth_ref": [
      "r46",
      "r47",
      "r50"
     ],
     "calculation": {
      "http://www.topbuild.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": {
       "order": 3.0,
       "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect",
       "weight": 1.0
      }
     },
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of cash inflow (outflow) from operating activities, including discontinued operations. Operating activity cash flows include transactions, adjustments, and changes in value not defined as investing or financing activities.",
        "label": "Net Cash Provided by (Used in) Operating Activities, Continuing Operations",
        "totalLabel": "Net cash provided by operating activities"
       }
      }
     },
     "localname": "NetCashProvidedByUsedInOperatingActivities",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.topbuild.com/role/StatementCondensedConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_NetCashProvidedByUsedInOperatingActivitiesContinuingOperationsAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Net Cash Provided by (Used in) Operating Activities, Continuing Operations [Abstract]",
        "terseLabel": "Cash Flows Provided by (Used in) Operating Activities:"
       }
      }
     },
     "localname": "NetCashProvidedByUsedInOperatingActivitiesContinuingOperationsAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.topbuild.com/role/StatementCondensedConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_NetIncomeLoss": {
     "auth_ref": [
      "r32",
      "r50",
      "r120",
      "r131",
      "r135",
      "r150",
      "r153",
      "r157",
      "r167",
      "r174",
      "r176",
      "r177",
      "r178",
      "r179",
      "r182",
      "r183",
      "r188",
      "r210",
      "r215",
      "r221",
      "r224",
      "r234",
      "r262",
      "r263",
      "r265",
      "r266",
      "r267",
      "r269",
      "r271",
      "r273",
      "r274",
      "r390",
      "r400",
      "r452",
      "r521"
     ],
     "calculation": {
      "http://www.topbuild.com/role/StatementCondensedConsolidatedStatementsOfComprehensiveIncome": {
       "order": 1.0,
       "parentTag": "us-gaap_ComprehensiveIncomeNetOfTax",
       "weight": 1.0
      },
      "http://www.topbuild.com/role/StatementCondensedConsolidatedStatementsOfOperations": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The portion of profit or loss for the period, net of income taxes, which is attributable to the parent.",
        "label": "Net Income (Loss) Attributable to Parent",
        "terseLabel": "Net income",
        "totalLabel": "Net income",
        "verboseLabel": "Net income - basic and diluted"
       }
      }
     },
     "localname": "NetIncomeLoss",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.topbuild.com/role/DisclosureNetIncomePerShareCalculationDetails",
      "http://www.topbuild.com/role/StatementCondensedConsolidatedStatementsOfChangesInEquity",
      "http://www.topbuild.com/role/StatementCondensedConsolidatedStatementsOfComprehensiveIncome",
      "http://www.topbuild.com/role/StatementCondensedConsolidatedStatementsOfOperations"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of accounting policy pertaining to new accounting pronouncements that may impact the entity's financial reporting. Includes, but is not limited to, quantification of the expected or actual impact.",
        "label": "New Accounting Pronouncements, Policy [Policy Text Block]",
        "terseLabel": "Recently Adopted Accounting Pronouncements"
       }
      }
     },
     "localname": "NewAccountingPronouncementsPolicyPolicyTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.topbuild.com/role/DisclosureAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_NonoperatingIncomeExpense": {
     "auth_ref": [
      "r37"
     ],
     "calculation": {
      "http://www.topbuild.com/role/StatementCondensedConsolidatedStatementsOfOperations": {
       "order": 1.0,
       "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The aggregate amount of income or expense from ancillary business-related activities (that is to say, excluding major activities considered part of the normal operations of the business).",
        "label": "Nonoperating Income (Expense)",
        "totalLabel": "Other expense, net",
        "verboseLabel": "Other expense, net"
       }
      }
     },
     "localname": "NonoperatingIncomeExpense",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.topbuild.com/role/DisclosureSegmentInformationDetails",
      "http://www.topbuild.com/role/StatementCondensedConsolidatedStatementsOfOperations"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_NonoperatingIncomeExpenseAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Nonoperating Income (Expense) [Abstract]",
        "terseLabel": "Other income (expense), net:"
       }
      }
     },
     "localname": "NonoperatingIncomeExpenseAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.topbuild.com/role/StatementCondensedConsolidatedStatementsOfOperations"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_NumberOfReportableSegments": {
     "auth_ref": [
      "r502"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Number of segments reported by the entity. A reportable segment is a component of an entity for which there is an accounting requirement to report separate financial information on that component in the entity's financial statements.",
        "label": "Number of Reportable Segments",
        "terseLabel": "Number of reportable segments"
       }
      }
     },
     "localname": "NumberOfReportableSegments",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.topbuild.com/role/DisclosureBasisOfPresentationDetails"
     ],
     "xbrltype": "integerItemType"
    },
    "us-gaap_NumberOfReportingUnits": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Number of reporting units tested for impairment of goodwill. A reporting unit is an operating segment or one level below an operating segment.",
        "label": "Number of Reporting Units",
        "terseLabel": "Number of reporting units"
       }
      }
     },
     "localname": "NumberOfReportingUnits",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.topbuild.com/role/DisclosureGoodwillAndOtherIntangiblesGoodwillDetails"
     ],
     "xbrltype": "integerItemType"
    },
    "us-gaap_OperatingExpenses": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Generally recurring costs associated with normal operations except for the portion of these expenses which can be clearly related to production and included in cost of sales or services. Includes selling, general and administrative expense.",
        "label": "Operating Expenses",
        "terseLabel": "General corporate expense, net"
       }
      }
     },
     "localname": "OperatingExpenses",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.topbuild.com/role/DisclosureSegmentInformationDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OperatingIncomeLoss": {
     "auth_ref": [
      "r210",
      "r215",
      "r221",
      "r224",
      "r452"
     ],
     "calculation": {
      "http://www.topbuild.com/role/StatementCondensedConsolidatedStatementsOfOperations": {
       "order": 2.0,
       "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The net result for the period of deducting operating expenses from operating revenues.",
        "label": "Operating Income (Loss)",
        "totalLabel": "Operating profit",
        "verboseLabel": "Operating profit as, reported"
       }
      }
     },
     "localname": "OperatingIncomeLoss",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.topbuild.com/role/DisclosureSegmentInformationDetails",
      "http://www.topbuild.com/role/StatementCondensedConsolidatedStatementsOfOperations"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OperatingLeaseLiabilityCurrent": {
     "auth_ref": [
      "r416"
     ],
     "calculation": {
      "http://www.topbuild.com/role/StatementCondensedConsolidatedBalanceSheets": {
       "order": 2.0,
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Present value of lessee's discounted obligation for lease payments from operating lease, classified as current.",
        "label": "Operating Lease, Liability, Current",
        "terseLabel": "Short-term operating lease liabilities"
       }
      }
     },
     "localname": "OperatingLeaseLiabilityCurrent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.topbuild.com/role/StatementCondensedConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OperatingLeaseLiabilityNoncurrent": {
     "auth_ref": [
      "r416"
     ],
     "calculation": {
      "http://www.topbuild.com/role/StatementCondensedConsolidatedBalanceSheets": {
       "order": 5.0,
       "parentTag": "us-gaap_Liabilities",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Present value of lessee's discounted obligation for lease payments from operating lease, classified as noncurrent.",
        "label": "Operating Lease, Liability, Noncurrent",
        "terseLabel": "Long-term operating lease liabilities"
       }
      }
     },
     "localname": "OperatingLeaseLiabilityNoncurrent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.topbuild.com/role/StatementCondensedConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OperatingLeaseRightOfUseAsset": {
     "auth_ref": [
      "r415"
     ],
     "calculation": {
      "http://www.topbuild.com/role/StatementCondensedConsolidatedBalanceSheets": {
       "order": 5.0,
       "parentTag": "us-gaap_Assets",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of lessee's right to use underlying asset under operating lease.",
        "label": "Operating Lease, Right-of-Use Asset",
        "terseLabel": "Right of use assets"
       }
      }
     },
     "localname": "OperatingLeaseRightOfUseAsset",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.topbuild.com/role/StatementCondensedConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OperatingSegmentsMember": {
     "auth_ref": [
      "r214",
      "r215",
      "r216",
      "r217",
      "r218",
      "r224"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Identifies components of an entity that engage in business activities from which they may earn revenue and incur expenses, including transactions with other components of the same entity.",
        "label": "Operating Segment"
       }
      }
     },
     "localname": "OperatingSegmentsMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.topbuild.com/role/DisclosureRevenueRecognitionDisaggregationDetails",
      "http://www.topbuild.com/role/DisclosureSegmentInformationDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Summary of Significant Accounting Policies"
       }
      }
     },
     "localname": "OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "xbrltype": "stringItemType"
    },
    "us-gaap_OtherAccruedLiabilitiesCurrent": {
     "auth_ref": [
      "r16"
     ],
     "calculation": {
      "http://www.topbuild.com/role/DisclosureAccruedLiabilitiesDetails": {
       "order": 7.0,
       "parentTag": "bld_AccruedLiabilitiesAndEmployeeRelatedLiabilitiesCurrent",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of expenses incurred but not yet paid classified as other, due within one year or the normal operating cycle, if longer.",
        "label": "Other Accrued Liabilities, Current",
        "terseLabel": "Other"
       }
      }
     },
     "localname": "OtherAccruedLiabilitiesCurrent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.topbuild.com/role/DisclosureAccruedLiabilitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OtherAssetsNoncurrent": {
     "auth_ref": [
      "r141"
     ],
     "calculation": {
      "http://www.topbuild.com/role/StatementCondensedConsolidatedBalanceSheets": {
       "order": 4.0,
       "parentTag": "us-gaap_Assets",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of noncurrent assets classified as other.",
        "label": "Other Assets, Noncurrent",
        "terseLabel": "Other assets"
       }
      }
     },
     "localname": "OtherAssetsNoncurrent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.topbuild.com/role/StatementCondensedConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax": {
     "auth_ref": [
      "r24",
      "r26",
      "r401",
      "r402",
      "r404"
     ],
     "calculation": {
      "http://www.topbuild.com/role/StatementCondensedConsolidatedStatementsOfComprehensiveIncome": {
       "order": 2.0,
       "parentTag": "us-gaap_ComprehensiveIncomeNetOfTax",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount after tax, before reclassification adjustments of gain (loss) on foreign currency translation adjustments, foreign currency transactions designated and effective as economic hedges of a net investment in a foreign entity and intra-entity foreign currency transactions that are of a long-term-investment nature.",
        "label": "Other Comprehensive Income (Loss), Foreign Currency Transaction and Translation Gain (Loss) Arising During Period, Net of Tax",
        "verboseLabel": "Foreign currency translation adjustment"
       }
      }
     },
     "localname": "OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.topbuild.com/role/StatementCondensedConsolidatedStatementsOfComprehensiveIncome"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OtherComprehensiveIncomeLossNetOfTax": {
     "auth_ref": [
      "r30",
      "r75",
      "r151",
      "r154",
      "r159",
      "r405",
      "r410",
      "r411",
      "r429",
      "r434",
      "r490",
      "r491"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount after tax and reclassification adjustments of other comprehensive income (loss).",
        "label": "Other Comprehensive Income (Loss), Net of Tax",
        "terseLabel": "Other comprehensive income, net of tax"
       }
      }
     },
     "localname": "OtherComprehensiveIncomeLossNetOfTax",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.topbuild.com/role/StatementCondensedConsolidatedStatementsOfChangesInEquity"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Other Comprehensive Income (Loss), Net of Tax [Abstract]",
        "terseLabel": "Other comprehensive income:"
       }
      }
     },
     "localname": "OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.topbuild.com/role/StatementCondensedConsolidatedStatementsOfComprehensiveIncome"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_OtherLiabilitiesNoncurrent": {
     "auth_ref": [
      "r20"
     ],
     "calculation": {
      "http://www.topbuild.com/role/StatementCondensedConsolidatedBalanceSheets": {
       "order": 6.0,
       "parentTag": "us-gaap_Liabilities",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of liabilities classified as other, due after one year or the normal operating cycle, if longer.",
        "label": "Other Liabilities, Noncurrent",
        "terseLabel": "Other liabilities"
       }
      }
     },
     "localname": "OtherLiabilitiesNoncurrent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.topbuild.com/role/StatementCondensedConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OtherNoncashInvestingAndFinancingItemsAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Other Noncash Investing and Financing Items [Abstract]",
        "terseLabel": "Supplemental disclosure of noncash activities:"
       }
      }
     },
     "localname": "OtherNoncashInvestingAndFinancingItemsAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.topbuild.com/role/StatementCondensedConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_OtherNonoperatingIncomeExpense": {
     "auth_ref": [
      "r38"
     ],
     "calculation": {
      "http://www.topbuild.com/role/StatementCondensedConsolidatedStatementsOfOperations": {
       "order": 1.0,
       "parentTag": "us-gaap_NonoperatingIncomeExpense",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of income (expense) related to nonoperating activities, classified as other.",
        "label": "Other Nonoperating Income (Expense)",
        "terseLabel": "Other, net"
       }
      }
     },
     "localname": "OtherNonoperatingIncomeExpense",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.topbuild.com/role/StatementCondensedConsolidatedStatementsOfOperations"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OtherOperatingActivitiesCashFlowStatement": {
     "auth_ref": [],
     "calculation": {
      "http://www.topbuild.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": {
       "order": 13.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Other cash or noncash adjustments to reconcile net income to cash provided by (used in) operating activities that are not separately disclosed in the statement of cash flows (for example, cash received or cash paid during the current period for miscellaneous operating activities, net change during the reporting period in other assets or other liabilities).",
        "label": "Other Operating Activities, Cash Flow Statement",
        "terseLabel": "Other, net"
       }
      }
     },
     "localname": "OtherOperatingActivitiesCashFlowStatement",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.topbuild.com/role/StatementCondensedConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PayablesAndAccrualsAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Accrued Liabilities."
       }
      }
     },
     "localname": "PayablesAndAccrualsAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "xbrltype": "stringItemType"
    },
    "us-gaap_PaymentForContingentConsiderationLiabilityFinancingActivities": {
     "auth_ref": [
      "r45"
     ],
     "calculation": {
      "http://www.topbuild.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": {
       "order": 4.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of cash outflow, not made soon after acquisition date of business combination, to settle contingent consideration liability up to amount recognized at acquisition date, including, but not limited to, measurement period adjustment and less amount paid soon after acquisition date.",
        "label": "Payment for Contingent Consideration Liability, Financing Activities",
        "negatedLabel": "Payment of contingent consideration"
       }
      }
     },
     "localname": "PaymentForContingentConsiderationLiabilityFinancingActivities",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.topbuild.com/role/StatementCondensedConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PaymentsForRepurchaseOfCommonStock": {
     "auth_ref": [
      "r43"
     ],
     "calculation": {
      "http://www.topbuild.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": {
       "order": 3.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The cash outflow to reacquire common stock during the period.",
        "label": "Payments for Repurchase of Common Stock",
        "negatedLabel": "Repurchase of shares of common stock"
       }
      }
     },
     "localname": "PaymentsForRepurchaseOfCommonStock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.topbuild.com/role/StatementCondensedConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation": {
     "auth_ref": [
      "r163"
     ],
     "calculation": {
      "http://www.topbuild.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": {
       "order": 2.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of cash outflow to satisfy grantee's tax withholding obligation for award under share-based payment arrangement.",
        "label": "Payments Related to Tax Withholding for Share-based Compensation",
        "negatedLabel": "Taxes withheld and paid on employees' equity awards"
       }
      }
     },
     "localname": "PaymentsRelatedToTaxWithholdingForShareBasedCompensation",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.topbuild.com/role/StatementCondensedConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PaymentsToAcquireBusinessesGross": {
     "auth_ref": [
      "r40",
      "r380"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The cash outflow associated with the acquisition of business during the period. The cash portion only of the acquisition price.",
        "label": "Payments to Acquire Businesses, Gross",
        "terseLabel": "Cash",
        "verboseLabel": "Cash Paid"
       }
      }
     },
     "localname": "PaymentsToAcquireBusinessesGross",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.topbuild.com/role/DisclosureBusinessCombinationsFairValueOfConsiderationDetails",
      "http://www.topbuild.com/role/DisclosureBusinessCombinationsSummaryDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired": {
     "auth_ref": [
      "r40"
     ],
     "calculation": {
      "http://www.topbuild.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": {
       "order": 2.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The cash outflow associated with the acquisition of a business, net of the cash acquired from the purchase.",
        "label": "Payments to Acquire Businesses, Net of Cash Acquired",
        "negatedTerseLabel": "Acquisition of businesses, net of cash acquired"
       }
      }
     },
     "localname": "PaymentsToAcquireBusinessesNetOfCashAcquired",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.topbuild.com/role/StatementCondensedConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PaymentsToAcquirePropertyPlantAndEquipment": {
     "auth_ref": [
      "r41"
     ],
     "calculation": {
      "http://www.topbuild.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": {
       "order": 1.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The cash outflow associated with the acquisition of long-lived, physical assets that are used in the normal conduct of business to produce goods and services and not intended for resale; includes cash outflows to pay for construction of self-constructed assets.",
        "label": "Payments to Acquire Property, Plant, and Equipment",
        "negatedLabel": "Purchases of property and equipment"
       }
      }
     },
     "localname": "PaymentsToAcquirePropertyPlantAndEquipment",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.topbuild.com/role/StatementCondensedConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PlanNameAxis": {
     "auth_ref": [
      "r527",
      "r528",
      "r529",
      "r530",
      "r531",
      "r532",
      "r533",
      "r534",
      "r535",
      "r536",
      "r537",
      "r538",
      "r539",
      "r540",
      "r541",
      "r542",
      "r543",
      "r544",
      "r545",
      "r546",
      "r547",
      "r548",
      "r549",
      "r550",
      "r551",
      "r552"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by plan name for share-based payment arrangement.",
        "label": "Plan Name [Axis]"
       }
      }
     },
     "localname": "PlanNameAxis",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.topbuild.com/role/DisclosureShareBasedCompensationExpenseDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_PlanNameDomain": {
     "auth_ref": [
      "r527",
      "r528",
      "r529",
      "r530",
      "r531",
      "r532",
      "r533",
      "r534",
      "r535",
      "r536",
      "r537",
      "r538",
      "r539",
      "r540",
      "r541",
      "r542",
      "r543",
      "r544",
      "r545",
      "r546",
      "r547",
      "r548",
      "r549",
      "r550",
      "r551",
      "r552"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Plan name for share-based payment arrangement.",
        "label": "Plan Name [Domain]"
       }
      }
     },
     "localname": "PlanNameDomain",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.topbuild.com/role/DisclosureShareBasedCompensationExpenseDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_PreferredStockParOrStatedValuePerShare": {
     "auth_ref": [
      "r4",
      "r295"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Face amount or stated value per share of preferred stock nonredeemable or redeemable solely at the option of the issuer.",
        "label": "Preferred Stock, Par or Stated Value Per Share",
        "terseLabel": "Preferred stock, par value (in dollars per share)"
       }
      }
     },
     "localname": "PreferredStockParOrStatedValuePerShare",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.topbuild.com/role/StatementCondensedConsolidatedBalanceSheetsParenthetical"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_PreferredStockSharesAuthorized": {
     "auth_ref": [
      "r4"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The maximum number of nonredeemable preferred shares (or preferred stock redeemable solely at the option of the issuer) permitted to be issued by an entity's charter and bylaws.",
        "label": "Preferred Stock, Shares Authorized",
        "terseLabel": "Preferred stock, shares authorized"
       }
      }
     },
     "localname": "PreferredStockSharesAuthorized",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.topbuild.com/role/StatementCondensedConsolidatedBalanceSheetsParenthetical"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_PreferredStockSharesIssued": {
     "auth_ref": [
      "r4",
      "r295"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Total number of nonredeemable preferred shares (or preferred stock redeemable solely at the option of the issuer) issued to shareholders (includes related preferred shares that were issued, repurchased, and remain in the treasury). May be all or portion of the number of preferred shares authorized. Excludes preferred shares that are classified as debt.",
        "label": "Preferred Stock, Shares Issued",
        "terseLabel": "Preferred stock, shares, issued"
       }
      }
     },
     "localname": "PreferredStockSharesIssued",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.topbuild.com/role/StatementCondensedConsolidatedBalanceSheetsParenthetical"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_PreferredStockSharesOutstanding": {
     "auth_ref": [
      "r4"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Aggregate share number for all nonredeemable preferred stock (or preferred stock redeemable solely at the option of the issuer) held by stockholders. Does not include preferred shares that have been repurchased.",
        "label": "Preferred Stock, Shares Outstanding",
        "terseLabel": "Preferred stock, shares, outstanding"
       }
      }
     },
     "localname": "PreferredStockSharesOutstanding",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.topbuild.com/role/StatementCondensedConsolidatedBalanceSheetsParenthetical"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_PreferredStockValue": {
     "auth_ref": [
      "r4",
      "r478"
     ],
     "calculation": {
      "http://www.topbuild.com/role/StatementCondensedConsolidatedBalanceSheets": {
       "order": 4.0,
       "parentTag": "us-gaap_StockholdersEquity",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Aggregate par or stated value of issued nonredeemable preferred stock (or preferred stock redeemable solely at the option of the issuer). This item includes treasury stock repurchased by the entity. Note: elements for number of nonredeemable preferred shares, par value and other disclosure concepts are in another section within stockholders' equity.",
        "label": "Preferred Stock, Value, Issued",
        "terseLabel": "Preferred stock, $0.01 par value: 10,000,000 shares authorized; 0 shares issued and outstanding"
       }
      }
     },
     "localname": "PreferredStockValue",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.topbuild.com/role/StatementCondensedConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PrepaidExpenseAndOtherAssetsCurrent": {
     "auth_ref": [
      "r489"
     ],
     "calculation": {
      "http://www.topbuild.com/role/StatementCondensedConsolidatedBalanceSheets": {
       "order": 4.0,
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of asset related to consideration paid in advance for costs that provide economic benefits in future periods, and amount of other assets that are expected to be realized or consumed within one year or the normal operating cycle, if longer.",
        "label": "Prepaid Expense and Other Assets, Current",
        "terseLabel": "Prepaid expenses and other current assets"
       }
      }
     },
     "localname": "PrepaidExpenseAndOtherAssetsCurrent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.topbuild.com/role/StatementCondensedConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment": {
     "auth_ref": [
      "r39"
     ],
     "calculation": {
      "http://www.topbuild.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": {
       "order": 3.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The cash inflow from the sale of long-lived, physical assets that are used in the normal conduct of business to produce goods and services and not intended for resale.",
        "label": "Proceeds from Sale of Property, Plant, and Equipment",
        "terseLabel": "Proceeds from sale of property and equipment"
       }
      }
     },
     "localname": "ProceedsFromSaleOfPropertyPlantAndEquipment",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.topbuild.com/role/StatementCondensedConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ProceedsFromStockOptionsExercised": {
     "auth_ref": [
      "r42",
      "r88"
     ],
     "calculation": {
      "http://www.topbuild.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": {
       "order": 1.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of cash inflow from exercise of option under share-based payment arrangement.",
        "label": "Proceeds from Stock Options Exercised",
        "terseLabel": "Exercise of stock options"
       }
      }
     },
     "localname": "ProceedsFromStockOptionsExercised",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.topbuild.com/role/StatementCondensedConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ProfitLoss": {
     "auth_ref": [
      "r135",
      "r150",
      "r153",
      "r164",
      "r167",
      "r174",
      "r182",
      "r183",
      "r210",
      "r215",
      "r221",
      "r224",
      "r234",
      "r262",
      "r263",
      "r265",
      "r266",
      "r267",
      "r269",
      "r271",
      "r273",
      "r274",
      "r381",
      "r384",
      "r385",
      "r390",
      "r400",
      "r432",
      "r452",
      "r475",
      "r476",
      "r492",
      "r521"
     ],
     "calculation": {
      "http://www.topbuild.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": {
       "order": 14.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The consolidated profit or loss for the period, net of income taxes, including the portion attributable to the noncontrolling interest.",
        "label": "Net Income (Loss), Including Portion Attributable to Noncontrolling Interest",
        "terseLabel": "Net income"
       }
      }
     },
     "localname": "ProfitLoss",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.topbuild.com/role/StatementCondensedConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization": {
     "auth_ref": [
      "r516",
      "r559"
     ],
     "calculation": {
      "http://www.topbuild.com/role/StatementCondensedConsolidatedBalanceSheets": {
       "order": 6.0,
       "parentTag": "us-gaap_Assets",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount, after accumulated depreciation and amortization, of property, plant, and equipment and finance lease right-of-use asset.",
        "label": "Property, Plant, and Equipment and Finance Lease Right-of-Use Asset, after Accumulated Depreciation and Amortization",
        "terseLabel": "Property and equipment, net"
       }
      }
     },
     "localname": "PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.topbuild.com/role/StatementCondensedConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ProvisionForDoubtfulAccounts": {
     "auth_ref": [
      "r162",
      "r237"
     ],
     "calculation": {
      "http://www.topbuild.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": {
       "order": 5.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of expense (reversal of expense) for expected credit loss on accounts receivable.",
        "label": "Provision for Doubtful Accounts",
        "terseLabel": "Provision for bad debt expense"
       }
      }
     },
     "localname": "ProvisionForDoubtfulAccounts",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.topbuild.com/role/StatementCondensedConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_RepaymentsOfLongTermDebt": {
     "auth_ref": [
      "r44"
     ],
     "calculation": {
      "http://www.topbuild.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": {
       "order": 5.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The cash outflow for debt initially having maturity due after one year or beyond the normal operating cycle, if longer.",
        "label": "Repayments of Long-term Debt",
        "negatedLabel": "Repayment of long-term debt"
       }
      }
     },
     "localname": "RepaymentsOfLongTermDebt",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.topbuild.com/role/StatementCondensedConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_RestrictedStockMember": {
     "auth_ref": [
      "r57"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Stock including a provision that prohibits sale or substantive sale of an equity instrument for a specified period of time or until specified performance conditions are met.",
        "label": "Restricted Stock Awards"
       }
      }
     },
     "localname": "RestrictedStockMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.topbuild.com/role/DisclosureNetIncomePerShareAntiDilutiveCommonStockEquivalentsDetails",
      "http://www.topbuild.com/role/DisclosureShareBasedCompensationActivityDetails",
      "http://www.topbuild.com/role/DisclosureShareBasedCompensationTables"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_RetainedEarningsAccumulatedDeficit": {
     "auth_ref": [
      "r7",
      "r80",
      "r128",
      "r442",
      "r444",
      "r478"
     ],
     "calculation": {
      "http://www.topbuild.com/role/StatementCondensedConsolidatedBalanceSheets": {
       "order": 3.0,
       "parentTag": "us-gaap_StockholdersEquity",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The cumulative amount of the reporting entity's undistributed earnings or deficit.",
        "label": "Retained Earnings (Accumulated Deficit)",
        "terseLabel": "Retained earnings"
       }
      }
     },
     "localname": "RetainedEarningsAccumulatedDeficit",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.topbuild.com/role/StatementCondensedConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_RetainedEarningsMember": {
     "auth_ref": [
      "r133",
      "r171",
      "r172",
      "r173",
      "r175",
      "r181",
      "r183",
      "r235",
      "r358",
      "r359",
      "r360",
      "r369",
      "r370",
      "r388",
      "r439",
      "r441"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The cumulative amount of the reporting entity's undistributed earnings or deficit.",
        "label": "Retained Earnings"
       }
      }
     },
     "localname": "RetainedEarningsMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.topbuild.com/role/StatementCondensedConsolidatedStatementsOfChangesInEquity"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_RevenueFromContractWithCustomerAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Revenue Recognition"
       }
      }
     },
     "localname": "RevenueFromContractWithCustomerAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "xbrltype": "stringItemType"
    },
    "us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax": {
     "auth_ref": [
      "r201",
      "r202",
      "r214",
      "r219",
      "r220",
      "r226",
      "r227",
      "r229",
      "r309",
      "r310",
      "r425"
     ],
     "calculation": {
      "http://www.topbuild.com/role/StatementCondensedConsolidatedStatementsOfOperations": {
       "order": 1.0,
       "parentTag": "us-gaap_GrossProfit",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount, excluding tax collected from customer, of revenue from satisfaction of performance obligation by transferring promised good or service to customer. Tax collected from customer is tax assessed by governmental authority that is both imposed on and concurrent with specific revenue-producing transaction, including, but not limited to, sales, use, value added and excise.",
        "label": "Revenues",
        "terseLabel": "Net sales"
       }
      }
     },
     "localname": "RevenueFromContractWithCustomerExcludingAssessedTax",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.topbuild.com/role/DisclosureRevenueRecognitionDisaggregationDetails",
      "http://www.topbuild.com/role/DisclosureSegmentInformationDetails",
      "http://www.topbuild.com/role/StatementCondensedConsolidatedStatementsOfOperations"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_RevenueFromContractWithCustomerTextBlock": {
     "auth_ref": [
      "r300",
      "r301",
      "r302",
      "r303",
      "r304",
      "r305",
      "r307",
      "r308",
      "r312",
      "r313"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure of revenue from contract with customer to transfer good or service and to transfer nonfinancial asset. Includes, but is not limited to, disaggregation of revenue, credit loss recognized from contract with customer, judgment and change in judgment related to contract with customer, and asset recognized from cost incurred to obtain or fulfill contract with customer. Excludes insurance and lease contracts.",
        "label": "Revenue from Contract with Customer [Text Block]",
        "terseLabel": "Revenue Recognition"
       }
      }
     },
     "localname": "RevenueFromContractWithCustomerTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.topbuild.com/role/DisclosureRevenueRecognition"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_RevenuePerformanceObligationSatisfiedOverTimeAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Revenue, Performance Obligation Satisfied over Time [Abstract]",
        "terseLabel": "Uncompleted Performance Obligations"
       }
      }
     },
     "localname": "RevenuePerformanceObligationSatisfiedOverTimeAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.topbuild.com/role/DisclosureRevenueRecognitionOtherDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_RevenueRemainingPerformanceObligation": {
     "auth_ref": [
      "r306"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of transaction price allocated to performance obligation that has not been recognized as revenue.",
        "label": "Revenue, Remaining Performance Obligation, Amount",
        "terseLabel": "Amount remaining on uncompleted performance obligations"
       }
      }
     },
     "localname": "RevenueRemainingPerformanceObligation",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.topbuild.com/role/DisclosureRevenueRecognitionOtherDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionExplanation": {
     "auth_ref": [
      "r307"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Description of when remaining performance obligation is expected to be recognized as revenue.",
        "label": "Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Explanation",
        "terseLabel": "Expected timing of satisfaction of performance obligations"
       }
      }
     },
     "localname": "RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionExplanation",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.topbuild.com/role/DisclosureRevenueRecognitionOtherDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_RevolvingCreditFacilityMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Arrangement in which loan proceeds can continuously be obtained following repayments, but the total amount borrowed cannot exceed a specified maximum amount.",
        "label": "Revolving Facility"
       }
      }
     },
     "localname": "RevolvingCreditFacilityMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.topbuild.com/role/DisclosureLongTermDebtKeyTermsOfCreditAgreementDetails",
      "http://www.topbuild.com/role/DisclosureLongTermDebtRevolvingFacilityDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability": {
     "auth_ref": [
      "r417",
      "r477"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of increase in right-of-use asset obtained in exchange for operating lease liability.",
        "label": "Right-of-Use Asset Obtained in Exchange for Operating Lease Liability",
        "terseLabel": "Leased assets obtained in exchange for new operating lease liabilities"
       }
      }
     },
     "localname": "RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.topbuild.com/role/StatementCondensedConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of the components of accrued liabilities.",
        "label": "Schedule of Accrued Liabilities [Table Text Block]",
        "terseLabel": "Schedule of components of accrued liabilities"
       }
      }
     },
     "localname": "ScheduleOfAccruedLiabilitiesTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.topbuild.com/role/DisclosureAccruedLiabilitiesTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable": {
     "auth_ref": [
      "r57"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Schedule for securities (including those issuable pursuant to contingent stock agreements) that could potentially dilute basic earnings per share (EPS) in the future that were not included in the computation of diluted EPS because to do so would increase EPS amounts or decrease loss per share amounts for the period presented, by Antidilutive Securities.",
        "label": "Schedule of Antidilutive Securities Excluded from Computation of Earnings Per Share [Table]"
       }
      }
     },
     "localname": "ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.topbuild.com/role/DisclosureNetIncomePerShareAntiDilutiveCommonStockEquivalentsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock": {
     "auth_ref": [
      "r57"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of securities (including those issuable pursuant to contingent stock agreements) that could potentially dilute basic earnings per share (EPS) in the future that were not included in the computation of diluted EPS because to do so would increase EPS amounts or decrease loss per share amounts for the period presented, by antidilutive securities.",
        "label": "Schedule of Antidilutive Securities Excluded from Computation of Earnings Per Share [Table Text Block]",
        "terseLabel": "Summary of shares excluded from the calculation of diluted income per share because their effect would have been anti-dilutive"
       }
      }
     },
     "localname": "ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.topbuild.com/role/DisclosureNetIncomePerShareTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable": {
     "auth_ref": [
      "r94",
      "r95",
      "r378"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Schedule reflecting each material business combination (or series of individually immaterial business combinations) completed during the period, including background, timing, and recognized assets and liabilities.",
        "label": "Schedule of Business Acquisitions, by Acquisition [Table]"
       }
      }
     },
     "localname": "ScheduleOfBusinessAcquisitionsByAcquisitionTable",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.topbuild.com/role/DisclosureBusinessCombinationsSummaryDetails",
      "http://www.topbuild.com/role/DisclosureBusinessCombinationsTables"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTextBlock": {
     "auth_ref": [
      "r94",
      "r95"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of a material business combination completed during the period, including background, timing, and recognized assets and liabilities. This table does not include leveraged buyouts.",
        "label": "Schedule of Business Acquisitions, by Acquisition [Table Text Block]",
        "verboseLabel": "Summary of businesses acquired"
       }
      }
     },
     "localname": "ScheduleOfBusinessAcquisitionsByAcquisitionTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.topbuild.com/role/DisclosureBusinessCombinationsTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfDebtTableTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of information pertaining to short-term and long-debt instruments or arrangements, including but not limited to identification of terms, features, collateral requirements and other information necessary to a fair presentation.",
        "label": "Schedule of Debt [Table Text Block]",
        "terseLabel": "Reconciliation of principal balance of outstanding debt"
       }
      }
     },
     "localname": "ScheduleOfDebtTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.topbuild.com/role/DisclosureLongTermDebtTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock": {
     "auth_ref": [
      "r501"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of an entity's basic and diluted earnings per share calculations, including a reconciliation of numerators and denominators of the basic and diluted per-share computations for income from continuing operations.",
        "label": "Schedule of Earnings Per Share, Basic and Diluted [Table Text Block]",
        "terseLabel": "Schedule of basic and diluted income per share"
       }
      }
     },
     "localname": "ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.topbuild.com/role/DisclosureNetIncomePerShareTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable": {
     "auth_ref": [
      "r86",
      "r89"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of information about amount recognized for award under share-based payment arrangement. Includes, but is not limited to, amount expensed in statement of income or comprehensive income, amount capitalized in statement of financial position, and corresponding reporting line item in financial statements.",
        "label": "Schedule of Employee Service Share-based Compensation, Allocation of Recognized Period Costs [Table]"
       }
      }
     },
     "localname": "ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.topbuild.com/role/DisclosureShareBasedCompensationExpenseDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ScheduleOfGoodwillTable": {
     "auth_ref": [
      "r241",
      "r242",
      "r243",
      "r244",
      "r245",
      "r246",
      "r247",
      "r248",
      "r249",
      "r250",
      "r251",
      "r453"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Schedule of goodwill and the changes during the year due to acquisition, sale, impairment or for other reasons.",
        "label": "Schedule of Goodwill [Table]"
       }
      }
     },
     "localname": "ScheduleOfGoodwillTable",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.topbuild.com/role/DisclosureGoodwillAndOtherIntangiblesGoodwillDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ScheduleOfGoodwillTextBlock": {
     "auth_ref": [
      "r453",
      "r505",
      "r506",
      "r507",
      "r508",
      "r509",
      "r510",
      "r511",
      "r512",
      "r513",
      "r514",
      "r515"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of goodwill by reportable segment and in total which includes a rollforward schedule.",
        "label": "Schedule of Goodwill [Table Text Block]",
        "terseLabel": "Changes in the carrying amount of goodwill by segment"
       }
      }
     },
     "localname": "ScheduleOfGoodwillTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.topbuild.com/role/DisclosureGoodwillAndOtherIntangiblesTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfMaturitiesOfLongTermDebtTableTextBlock": {
     "auth_ref": [
      "r72"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of maturity and sinking fund requirement for long-term debt.",
        "label": "Schedule of Maturities of Long-term Debt [Table Text Block]",
        "verboseLabel": "Schedule of remaining principal payments of debt"
       }
      }
     },
     "localname": "ScheduleOfMaturitiesOfLongTermDebtTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.topbuild.com/role/DisclosureLongTermDebtTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable": {
     "auth_ref": [
      "r59",
      "r60",
      "r61",
      "r64"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "A table disclosing the profit or loss and total assets for each reportable segment of the entity. An entity discloses certain information on each reportable segment if the amounts (a) are included in the measure of segment profit or loss reviewed by the chief operating decision maker or (b) are otherwise regularly provided to the chief operating decision maker, even if not included in that measure of segment profit or loss.",
        "label": "Schedule of Segment Reporting Information, by Segment [Table]"
       }
      }
     },
     "localname": "ScheduleOfSegmentReportingInformationBySegmentTable",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.topbuild.com/role/DisclosureSegmentInformationDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ScheduleOfSegmentReportingInformationBySegmentTextBlock": {
     "auth_ref": [
      "r59",
      "r60",
      "r61",
      "r64"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of the profit or loss and total assets for each reportable segment. An entity discloses certain information on each reportable segment if the amounts (a) are included in the measure of segment profit or loss reviewed by the chief operating decision maker or (b) are otherwise regularly provided to the chief operating decision maker, even if not included in that measure of segment profit or loss.",
        "label": "Schedule of Segment Reporting Information, by Segment [Table Text Block]",
        "terseLabel": "Schedule of net sales and operating results by segment"
       }
      }
     },
     "localname": "ScheduleOfSegmentReportingInformationBySegmentTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.topbuild.com/role/DisclosureSegmentInformationTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfShareBasedCompensationActivityTableTextBlock": {
     "auth_ref": [
      "r83",
      "r84",
      "r85"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of activity for award under share-based payment arrangement. Includes, but is not limited to, outstanding award at beginning and end of year, granted, exercised, forfeited, and weighted-average grant date fair value.",
        "label": "Schedule of Share-based Compensation, Activity [Table Text Block]",
        "terseLabel": "Schedule of share-based compensation activity"
       }
      }
     },
     "localname": "ScheduleOfShareBasedCompensationActivityTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.topbuild.com/role/DisclosureShareBasedCompensationTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable": {
     "auth_ref": [
      "r323",
      "r325",
      "r327",
      "r328",
      "r329",
      "r330",
      "r331",
      "r332",
      "r333",
      "r334",
      "r335",
      "r336",
      "r337",
      "r338",
      "r339",
      "r340",
      "r341",
      "r342",
      "r343",
      "r344",
      "r345",
      "r346",
      "r347",
      "r348",
      "r349",
      "r350",
      "r351",
      "r352"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of information about share-based payment arrangement.",
        "label": "Schedule of Share-based Compensation Arrangements by Share-based Payment Award [Table]"
       }
      }
     },
     "localname": "ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.topbuild.com/role/DisclosureShareBasedCompensationActivityDetails",
      "http://www.topbuild.com/role/DisclosureShareBasedCompensationTables"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_SecuredDebtMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Collateralized debt obligation backed by, for example, but not limited to, pledge, mortgage or other lien on the entity's assets.",
        "label": "Term Loan Facility"
       }
      }
     },
     "localname": "SecuredDebtMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.topbuild.com/role/DisclosureLongTermDebtKeyTermsOfCreditAgreementDetails",
      "http://www.topbuild.com/role/DisclosureLongTermDebtReconciliationDetails",
      "http://www.topbuild.com/role/DisclosureLongTermDebtScheduleOfDebtMaturityDetails",
      "http://www.topbuild.com/role/DisclosureLongTermDebtSeniorNotesAndEquipmentNotesDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_SecuredOvernightFinancingRateSofrOvernightIndexSwapRateMember": {
     "auth_ref": [
      "r555"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Fixed rate on U.S. dollar, constant-notional interest rate swap that has its variable-rate leg referenced to Secured Overnight Financing Rate (SOFR) with no additional spread over SOFR on variable-rate leg.",
        "label": "Secured Overnight Financing Rate (SOFR) Overnight Index Swap Rate [Member]",
        "terseLabel": "SOFR"
       }
      }
     },
     "localname": "SecuredOvernightFinancingRateSofrOvernightIndexSwapRateMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.topbuild.com/role/DisclosureLongTermDebtKeyTermsOfCreditAgreementDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_SegmentDomain": {
     "auth_ref": [
      "r198",
      "r201",
      "r202",
      "r203",
      "r204",
      "r205",
      "r206",
      "r207",
      "r208",
      "r209",
      "r210",
      "r211",
      "r212",
      "r214",
      "r215",
      "r216",
      "r217",
      "r218",
      "r219",
      "r220",
      "r221",
      "r222",
      "r224",
      "r229",
      "r241",
      "r242",
      "r243",
      "r244",
      "r245",
      "r246",
      "r247",
      "r248",
      "r249",
      "r254",
      "r255",
      "r453",
      "r568"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Components of an entity that engage in business activities from which they may earn revenue and incur expenses, including transactions with other components of the same entity.",
        "label": "Segments [Domain]"
       }
      }
     },
     "localname": "SegmentDomain",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.topbuild.com/role/DisclosureGoodwillAndOtherIntangiblesGoodwillDetails",
      "http://www.topbuild.com/role/DisclosureRevenueRecognitionDisaggregationDetails",
      "http://www.topbuild.com/role/DisclosureSegmentInformationDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_SegmentReportingAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Segment Information"
       }
      }
     },
     "localname": "SegmentReportingAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "xbrltype": "stringItemType"
    },
    "us-gaap_SegmentReportingDisclosureTextBlock": {
     "auth_ref": [
      "r198",
      "r199",
      "r200",
      "r210",
      "r213",
      "r218",
      "r222",
      "r223",
      "r224",
      "r225",
      "r226",
      "r228",
      "r229",
      "r230"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for reporting segments including data and tables. Reportable segments include those that meet any of the following quantitative thresholds a) it's reported revenue, including sales to external customers and intersegment sales or transfers is 10 percent or more of the combined revenue, internal and external, of all operating segments b) the absolute amount of its reported profit or loss is 10 percent or more of the greater, in absolute amount of 1) the combined reported profit of all operating segments that did not report a loss or 2) the combined reported loss of all operating segments that did report a loss c) its assets are 10 percent or more of the combined assets of all operating segments.",
        "label": "Segment Reporting Disclosure [Text Block]",
        "terseLabel": "Segment Information"
       }
      }
     },
     "localname": "SegmentReportingDisclosureTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.topbuild.com/role/DisclosureSegmentInformation"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_SegmentReportingInformationLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.",
        "label": "Segment Reporting Information [Line Items]",
        "terseLabel": "Segment information"
       }
      }
     },
     "localname": "SegmentReportingInformationLineItems",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.topbuild.com/role/DisclosureSegmentInformationDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_SellingGeneralAndAdministrativeExpense": {
     "auth_ref": [
      "r36"
     ],
     "calculation": {
      "http://www.topbuild.com/role/StatementCondensedConsolidatedStatementsOfOperations": {
       "order": 1.0,
       "parentTag": "us-gaap_OperatingIncomeLoss",
       "weight": -1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The aggregate total costs related to selling a firm's product and services, as well as all other general and administrative expenses. Direct selling expenses (for example, credit, warranty, and advertising) are expenses that can be directly linked to the sale of specific products. Indirect selling expenses are expenses that cannot be directly linked to the sale of specific products, for example telephone expenses, Internet, and postal charges. General and administrative expenses include salaries of non-sales personnel, rent, utilities, communication, etc.",
        "label": "Selling, General and Administrative Expense",
        "terseLabel": "Selling, general, and administrative expense"
       }
      }
     },
     "localname": "SellingGeneralAndAdministrativeExpense",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.topbuild.com/role/StatementCondensedConsolidatedStatementsOfOperations"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_SeniorNotesMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Bond that takes priority over other debt securities sold by the issuer. In the event the issuer goes bankrupt, senior debt holders receive priority for (must receive) repayment prior to (relative to) junior and unsecured (general) creditors.",
        "label": "Senior Notes"
       }
      }
     },
     "localname": "SeniorNotesMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.topbuild.com/role/DisclosureLongTermDebtOtherDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_SeriesOfIndividuallyImmaterialBusinessAcquisitionsMember": {
     "auth_ref": [
      "r95"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the aggregation and reporting of combined amounts of individually immaterial business combinations that were completed during the period.",
        "label": "All others"
       }
      }
     },
     "localname": "SeriesOfIndividuallyImmaterialBusinessAcquisitionsMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.topbuild.com/role/DisclosureBusinessCombinationsSummaryDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_ShareBasedCompensation": {
     "auth_ref": [
      "r48"
     ],
     "calculation": {
      "http://www.topbuild.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": {
       "order": 2.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of noncash expense for share-based payment arrangement.",
        "label": "Share-based Compensation",
        "terseLabel": "Share-based compensation"
       }
      }
     },
     "localname": "ShareBasedCompensation",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.topbuild.com/role/StatementCondensedConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdditionalDisclosuresAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Additional Disclosures [Abstract]",
        "terseLabel": "Restricted stock awards, additional disclosures"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdditionalDisclosuresAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.topbuild.com/role/DisclosureShareBasedCompensationActivityDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod": {
     "auth_ref": [
      "r341"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The number of grants made during the period on other than stock (or unit) option plans (for example, phantom stock or unit plan, stock or unit appreciation rights plan, performance target plan).",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Grants in Period",
        "terseLabel": "Granted (in shares)"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.topbuild.com/role/DisclosureShareBasedCompensationActivityDetails"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue": {
     "auth_ref": [
      "r341"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The weighted average fair value at grant date for nonvested equity-based awards issued during the period on other than stock (or unit) option plans (for example, phantom stock or unit plan, stock or unit appreciation rights plan, performance target plan).",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Grants in Period, Weighted Average Grant Date Fair Value",
        "terseLabel": "Granted (in dollars per share)"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.topbuild.com/role/DisclosureShareBasedCompensationActivityDetails"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber": {
     "auth_ref": [
      "r338",
      "r339"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The number of non-vested equity-based payment instruments, excluding stock (or unit) options, that validly exist and are outstanding as of the balance sheet date.",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Nonvested, Number",
        "periodEndLabel": "Balance at end of period (in shares)",
        "periodStartLabel": "Balance at beginning of period (in shares)"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.topbuild.com/role/DisclosureShareBasedCompensationActivityDetails"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period.",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Nonvested, Number of Shares [Roll Forward]",
        "terseLabel": "Restricted Stock Awards, Number of Shares"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.topbuild.com/role/DisclosureShareBasedCompensationActivityDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue": {
     "auth_ref": [
      "r338",
      "r339"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Per share or unit weighted-average fair value of nonvested award under share-based payment arrangement. Excludes share and unit options.",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Nonvested, Weighted Average Grant Date Fair Value",
        "periodEndLabel": "Balance at end of period (in dollars per share)",
        "periodStartLabel": "Balance at beginning of period (in dollars per share)"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.topbuild.com/role/DisclosureShareBasedCompensationActivityDetails"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Nonvested, Weighted Average Grant Date Fair Value [Abstract]",
        "terseLabel": "Restricted Stock Awards, Weighted Average Grant Date Fair Value Per Share"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.topbuild.com/role/DisclosureShareBasedCompensationActivityDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsAndMethodologyAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Fair Value Assumptions and Methodology [Abstract]",
        "terseLabel": "Assumptions used to estimate the fair values of the awards granted:"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsAndMethodologyAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.topbuild.com/role/DisclosureShareBasedCompensationActivityDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate": {
     "auth_ref": [
      "r350"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The estimated dividend rate (a percentage of the share price) to be paid (expected dividends) to holders of the underlying shares over the option's term.",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Fair Value Assumptions, Expected Dividend Rate",
        "terseLabel": "Dividend yield (as a percent)"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.topbuild.com/role/DisclosureShareBasedCompensationActivityDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate": {
     "auth_ref": [
      "r351"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The risk-free interest rate assumption that is used in valuing an option on its own shares.",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Fair Value Assumptions, Risk Free Interest Rate",
        "terseLabel": "Risk free interest rate (as a percent)"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.topbuild.com/role/DisclosureShareBasedCompensationActivityDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award [Line Items]",
        "terseLabel": "Share-Based Compensation"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.topbuild.com/role/DisclosureShareBasedCompensationActivityDetails",
      "http://www.topbuild.com/role/DisclosureShareBasedCompensationTables"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized": {
     "auth_ref": [
      "r474"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Number of shares authorized for issuance under share-based payment arrangement.",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Number of Shares Authorized",
        "terseLabel": "Number of shares authorized"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.topbuild.com/role/DisclosureShareBasedCompensationExpenseDetails"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosuresAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Additional Disclosures [Abstract]",
        "terseLabel": "Stock options, additional disclosures"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosuresAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.topbuild.com/role/DisclosureShareBasedCompensationActivityDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber": {
     "auth_ref": [
      "r332"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The number of shares into which fully or partially vested stock options outstanding as of the balance sheet date can be currently converted under the option plan.",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Exercisable, Number",
        "terseLabel": "Exercisable, Number of shares"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.topbuild.com/role/DisclosureShareBasedCompensationActivityDetails"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice": {
     "auth_ref": [
      "r332"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The weighted-average price as of the balance sheet date at which grantees can acquire the shares reserved for issuance on vested portions of options outstanding and currently exercisable under the stock option plan.",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Exercisable, Weighted Average Exercise Price",
        "terseLabel": "Exercisable Weighted Average Exercise Price Per Share"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.topbuild.com/role/DisclosureShareBasedCompensationActivityDetails"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue": {
     "auth_ref": [
      "r345"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of accumulated difference between fair value of underlying shares on dates of exercise and exercise price on options exercised (or share units converted) into shares.",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Exercises in Period, Intrinsic Value",
        "terseLabel": "Converted/Exercised aggregate intrinsic value"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.topbuild.com/role/DisclosureShareBasedCompensationActivityDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue": {
     "auth_ref": [
      "r87"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount by which the current fair value of the underlying stock exceeds the exercise price of options outstanding.",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding, Intrinsic Value",
        "terseLabel": "Aggregate intrinsic value"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.topbuild.com/role/DisclosureShareBasedCompensationActivityDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber": {
     "auth_ref": [
      "r330",
      "r331"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Number of options outstanding, including both vested and non-vested options.",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding, Number",
        "periodEndLabel": "Balance at end of period (in shares)",
        "periodStartLabel": "Balance at beginning of period (in shares)"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.topbuild.com/role/DisclosureShareBasedCompensationActivityDetails"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period.",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding [Roll Forward]",
        "terseLabel": "Stock Options, Number of Shares"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.topbuild.com/role/DisclosureShareBasedCompensationActivityDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice": {
     "auth_ref": [
      "r330",
      "r331"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Weighted average price at which grantees can acquire the shares reserved for issuance under the stock option plan.",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding, Weighted Average Exercise Price",
        "periodEndLabel": "Balance at end of period (in dollars per share)",
        "periodStartLabel": "Balance at beginning of period (in dollars per share)"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.topbuild.com/role/DisclosureShareBasedCompensationActivityDetails"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding, Weighted Average Exercise Price [Abstract]",
        "terseLabel": "Stock Options, Weighted Average Exercise Price Per Share"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.topbuild.com/role/DisclosureShareBasedCompensationActivityDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain": {
     "auth_ref": [
      "r327",
      "r328",
      "r329",
      "r330",
      "r331",
      "r332",
      "r333",
      "r334",
      "r335",
      "r336",
      "r337",
      "r338",
      "r339",
      "r340",
      "r341",
      "r342",
      "r343",
      "r344",
      "r345",
      "r346",
      "r347",
      "r348",
      "r349",
      "r350",
      "r351",
      "r352"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Award under share-based payment arrangement.",
        "label": "Equity Award [Domain]"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.topbuild.com/role/DisclosureShareBasedCompensationActivityDetails",
      "http://www.topbuild.com/role/DisclosureShareBasedCompensationTables"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice": {
     "auth_ref": [
      "r335"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Weighted average price at which option holders acquired shares when converting their stock options into shares.",
        "label": "Share-based Compensation Arrangements by Share-based Payment Award, Options, Exercises in Period, Weighted Average Exercise Price",
        "terseLabel": "Converted/Exercised (in dollars per share)"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.topbuild.com/role/DisclosureShareBasedCompensationActivityDetails"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1": {
     "auth_ref": [
      "r87"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of difference between fair value of the underlying shares reserved for issuance and exercise price of vested portions of options outstanding and currently exercisable.",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Exercisable, Intrinsic Value",
        "terseLabel": "Exercisable, Aggregate Intrinsic Value"
       }
      }
     },
     "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.topbuild.com/role/DisclosureShareBasedCompensationActivityDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Weighted average grant-date fair value of non-vested options outstanding.",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Nonvested, Weighted Average Grant Date Fair Value",
        "periodEndLabel": "Balance at end of period (in dollars per share)",
        "periodStartLabel": "Balance at beginning of period (in dollars per share)"
       }
      }
     },
     "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.topbuild.com/role/DisclosureShareBasedCompensationActivityDetails"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValueAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Nonvested, Weighted Average Grant Date Fair Value [Abstract]",
        "terseLabel": "Stock Options, Weighted Average Grant Date Fair Value Per Share"
       }
      }
     },
     "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValueAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.topbuild.com/role/DisclosureShareBasedCompensationActivityDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageRemainingContractualTerm1": {
     "auth_ref": [
      "r347"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Weighted average remaining contractual term for fully vested and expected to vest exercisable or convertible options, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days. Includes, but is not limited to, unvested options for which requisite service period has not been rendered but that are expected to vest based on achievement of performance condition, if forfeitures are recognized when they occur.",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Vested and Expected to Vest, Exercisable, Weighted Average Remaining Contractual Term",
        "terseLabel": "Weighted average remaining contractual term for vested stock options"
       }
      }
     },
     "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageRemainingContractualTerm1",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.topbuild.com/role/DisclosureShareBasedCompensationActivityDetails"
     ],
     "xbrltype": "durationItemType"
    },
    "us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Number of shares used to settle grantee's tax withholding obligation for award under share-based payment arrangement.",
        "label": "Shares Paid for Tax Withholding for Share Based Compensation",
        "terseLabel": "Number of shares withheld to pay taxes on employees' equity awards (in shares)"
       }
      }
     },
     "localname": "SharesPaidForTaxWithholdingForShareBasedCompensation",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.topbuild.com/role/StatementCondensedConsolidatedStatementsOfChangesInEquityParenthetical"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_ShortTermDebtTypeAxis": {
     "auth_ref": [
      "r13"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by type of short-term debt arrangement.",
        "label": "Short-term Debt, Type [Axis]"
       }
      }
     },
     "localname": "ShortTermDebtTypeAxis",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.topbuild.com/role/DisclosureLongTermDebtKeyTermsOfCreditAgreementDetails",
      "http://www.topbuild.com/role/DisclosureLongTermDebtRevolvingFacilityDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ShortTermDebtTypeDomain": {
     "auth_ref": [
      "r11"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Type of short-term debt arrangement, such as notes, line of credit, commercial paper, asset-based financing, project financing, letter of credit financing.",
        "label": "Short-term Debt, Type [Domain]"
       }
      }
     },
     "localname": "ShortTermDebtTypeDomain",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.topbuild.com/role/DisclosureLongTermDebtKeyTermsOfCreditAgreementDetails",
      "http://www.topbuild.com/role/DisclosureLongTermDebtRevolvingFacilityDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_SignificantAccountingPoliciesTextBlock": {
     "auth_ref": [
      "r56",
      "r166"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for all significant accounting policies of the reporting entity.",
        "label": "Significant Accounting Policies [Text Block]",
        "terseLabel": "Accounting Policies"
       }
      }
     },
     "localname": "SignificantAccountingPoliciesTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.topbuild.com/role/DisclosureAccountingPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_StatementBusinessSegmentsAxis": {
     "auth_ref": [
      "r134",
      "r198",
      "r201",
      "r202",
      "r203",
      "r204",
      "r205",
      "r206",
      "r207",
      "r208",
      "r209",
      "r210",
      "r211",
      "r212",
      "r214",
      "r215",
      "r216",
      "r217",
      "r218",
      "r219",
      "r220",
      "r221",
      "r222",
      "r224",
      "r229",
      "r241",
      "r242",
      "r243",
      "r244",
      "r245",
      "r246",
      "r247",
      "r248",
      "r249",
      "r253",
      "r254",
      "r255",
      "r453",
      "r568"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by business segments.",
        "label": "Segments [Axis]"
       }
      }
     },
     "localname": "StatementBusinessSegmentsAxis",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.topbuild.com/role/DisclosureGoodwillAndOtherIntangiblesGoodwillDetails",
      "http://www.topbuild.com/role/DisclosureRevenueRecognitionDisaggregationDetails",
      "http://www.topbuild.com/role/DisclosureSegmentInformationDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_StatementEquityComponentsAxis": {
     "auth_ref": [
      "r22",
      "r75",
      "r133",
      "r155",
      "r156",
      "r157",
      "r171",
      "r172",
      "r173",
      "r175",
      "r181",
      "r183",
      "r197",
      "r235",
      "r296",
      "r358",
      "r359",
      "r360",
      "r369",
      "r370",
      "r388",
      "r405",
      "r406",
      "r407",
      "r408",
      "r409",
      "r411",
      "r418",
      "r439",
      "r440",
      "r441"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by component of equity.",
        "label": "Equity Components [Axis]"
       }
      }
     },
     "localname": "StatementEquityComponentsAxis",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.topbuild.com/role/StatementCondensedConsolidatedStatementsOfChangesInEquity"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_StatementLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.",
        "label": "Statement [Line Items]",
        "terseLabel": "Statement"
       }
      }
     },
     "localname": "StatementLineItems",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.topbuild.com/role/DisclosureNetIncomePerShareCalculationDetails",
      "http://www.topbuild.com/role/DisclosureRevenueRecognitionOtherDetails",
      "http://www.topbuild.com/role/StatementCondensedConsolidatedStatementsOfChangesInEquity"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_StatementOfCashFlowsAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "CONDENSED CONSOLIDATED STATEMENTS OF CASH FLOWS"
       }
      }
     },
     "localname": "StatementOfCashFlowsAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "xbrltype": "stringItemType"
    },
    "us-gaap_StatementOfFinancialPositionAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "CONDENSED CONSOLIDATED BALANCE SHEETS"
       }
      }
     },
     "localname": "StatementOfFinancialPositionAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "xbrltype": "stringItemType"
    },
    "us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "CONDENSED CONSOLIDATED STATEMENTS OF COMPREHENSIVE INCOME"
       }
      }
     },
     "localname": "StatementOfIncomeAndComprehensiveIncomeAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "xbrltype": "stringItemType"
    },
    "us-gaap_StatementOfStockholdersEquityAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "CONDENSED CONSOLIDATED STATEMENTS OF CHANGES IN EQUITY"
       }
      }
     },
     "localname": "StatementOfStockholdersEquityAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "xbrltype": "stringItemType"
    },
    "us-gaap_StatementTable": {
     "auth_ref": [
      "r171",
      "r172",
      "r173",
      "r197",
      "r425"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Schedule reflecting a Statement of Income, Statement of Cash Flows, Statement of Financial Position, Statement of Shareholders' Equity and Other Comprehensive Income, or other statement as needed.",
        "label": "Statement [Table]"
       }
      }
     },
     "localname": "StatementTable",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.topbuild.com/role/DisclosureNetIncomePerShareCalculationDetails",
      "http://www.topbuild.com/role/DisclosureRevenueRecognitionOtherDetails",
      "http://www.topbuild.com/role/StatementCondensedConsolidatedStatementsOfChangesInEquity"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardGross": {
     "auth_ref": [
      "r75",
      "r80"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Total number of shares issued during the period, including shares forfeited, as a result of Restricted Stock Awards.",
        "label": "Stock Issued During Period, Shares, Restricted Stock Award, Gross",
        "terseLabel": "Issuance of restricted share awards under long-term equity incentive plan (in shares)"
       }
      }
     },
     "localname": "StockIssuedDuringPeriodSharesRestrictedStockAwardGross",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.topbuild.com/role/StatementCondensedConsolidatedStatementsOfChangesInEquityParenthetical"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised": {
     "auth_ref": [
      "r4",
      "r5",
      "r75",
      "r80",
      "r335"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Number of share options (or share units) exercised during the current period.",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Exercises in Period",
        "negatedLabel": "Converted/Exercised (in shares)",
        "terseLabel": "Shares issued upon exercise of stock options (in shares)"
       }
      }
     },
     "localname": "StockIssuedDuringPeriodSharesStockOptionsExercised",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.topbuild.com/role/DisclosureShareBasedCompensationActivityDetails",
      "http://www.topbuild.com/role/StatementCondensedConsolidatedStatementsOfChangesInEquityParenthetical"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardGross": {
     "auth_ref": [
      "r4",
      "r5",
      "r75",
      "r80"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Aggregate value of stock related to Restricted Stock Awards issued during the period.",
        "label": "Stock Issued During Period, Value, Restricted Stock Award, Gross",
        "terseLabel": "Issuance of restricted share awards under long-term equity incentive plan"
       }
      }
     },
     "localname": "StockIssuedDuringPeriodValueRestrictedStockAwardGross",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.topbuild.com/role/StatementCondensedConsolidatedStatementsOfChangesInEquity"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised": {
     "auth_ref": [
      "r22",
      "r75",
      "r80"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Value of stock issued as a result of the exercise of stock options.",
        "label": "Stock Issued During Period, Value, Stock Options Exercised",
        "terseLabel": "Shares issued upon exercise of stock options"
       }
      }
     },
     "localname": "StockIssuedDuringPeriodValueStockOptionsExercised",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.topbuild.com/role/StatementCondensedConsolidatedStatementsOfChangesInEquity"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_StockholdersEquity": {
     "auth_ref": [
      "r5",
      "r8",
      "r9",
      "r63",
      "r478",
      "r495",
      "r504",
      "r558"
     ],
     "calculation": {
      "http://www.topbuild.com/role/StatementCondensedConsolidatedBalanceSheets": {
       "order": 2.0,
       "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Total of all stockholders' equity (deficit) items, net of receivables from officers, directors, owners, and affiliates of the entity which are attributable to the parent. The amount of the economic entity's stockholders' equity attributable to the parent excludes the amount of stockholders' equity which is allocable to that ownership interest in subsidiary equity which is not attributable to the parent (noncontrolling interest, minority interest). This excludes temporary equity and is sometimes called permanent equity.",
        "label": "Stockholders' Equity Attributable to Parent",
        "periodEndLabel": "Balance",
        "periodStartLabel": "Balance",
        "totalLabel": "Total equity"
       }
      }
     },
     "localname": "StockholdersEquity",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.topbuild.com/role/StatementCondensedConsolidatedBalanceSheets",
      "http://www.topbuild.com/role/StatementCondensedConsolidatedStatementsOfChangesInEquity"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_StockholdersEquityAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Stockholders' Equity Attributable to Parent [Abstract]",
        "terseLabel": "Equity:"
       }
      }
     },
     "localname": "StockholdersEquityAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.topbuild.com/role/StatementCondensedConsolidatedBalanceSheets"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_TreasuryStockCommonMember": {
     "auth_ref": [
      "r81"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Previously issued common shares repurchased by the issuing entity and held in treasury.",
        "label": "Treasury Stock at Cost"
       }
      }
     },
     "localname": "TreasuryStockCommonMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.topbuild.com/role/StatementCondensedConsolidatedStatementsOfChangesInEquity"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_TreasuryStockCommonShares": {
     "auth_ref": [
      "r81"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Number of previously issued common shares repurchased by the issuing entity and held in treasury.",
        "label": "Treasury Stock, Shares",
        "terseLabel": "Treasury stock, shares at cost"
       }
      }
     },
     "localname": "TreasuryStockCommonShares",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.topbuild.com/role/StatementCondensedConsolidatedBalanceSheetsParenthetical"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_TreasuryStockCommonValue": {
     "auth_ref": [
      "r23",
      "r81",
      "r82"
     ],
     "calculation": {
      "http://www.topbuild.com/role/StatementCondensedConsolidatedBalanceSheets": {
       "order": 6.0,
       "parentTag": "us-gaap_StockholdersEquity",
       "weight": -1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount allocated to previously issued common shares repurchased by the issuing entity and held in treasury.",
        "label": "Treasury Stock, Value",
        "negatedLabel": "Treasury stock, 7,715,678 shares at March 31, 2023, and 7,683,084 shares at December 31, 2022, at cost"
       }
      }
     },
     "localname": "TreasuryStockCommonValue",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.topbuild.com/role/StatementCondensedConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_VariableRateAxis": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by type of variable rate.",
        "label": "Variable Rate [Axis]"
       }
      }
     },
     "localname": "VariableRateAxis",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.topbuild.com/role/DisclosureLongTermDebtKeyTermsOfCreditAgreementDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_VariableRateDomain": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Interest rate that fluctuates over time as a result of an underlying benchmark interest rate or index.",
        "label": "Variable Rate [Domain]"
       }
      }
     },
     "localname": "VariableRateDomain",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.topbuild.com/role/DisclosureLongTermDebtKeyTermsOfCreditAgreementDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustmentAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Incremental Weighted Average Shares Attributable to Dilutive Effect [Abstract]",
        "terseLabel": "Dilutive effect of common stock equivalents:"
       }
      }
     },
     "localname": "WeightedAverageNumberDilutedSharesOutstandingAdjustmentAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.topbuild.com/role/DisclosureNetIncomePerShareCalculationDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding": {
     "auth_ref": [
      "r186",
      "r191"
     ],
     "calculation": {
      "http://www.topbuild.com/role/DisclosureNetIncomePerShareCalculationDetails": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The average number of shares or units issued and outstanding that are used in calculating diluted EPS or earnings per unit (EPU), determined based on the timing of issuance of shares or units in the period.",
        "label": "Weighted Average Number of Shares Outstanding, Diluted",
        "terseLabel": "Diluted",
        "totalLabel": "Weighted average number of common shares outstanding - diluted"
       }
      }
     },
     "localname": "WeightedAverageNumberOfDilutedSharesOutstanding",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.topbuild.com/role/DisclosureNetIncomePerShareCalculationDetails",
      "http://www.topbuild.com/role/StatementCondensedConsolidatedStatementsOfOperations"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_WeightedAverageNumberOfSharesOutstandingBasic": {
     "auth_ref": [
      "r185",
      "r191"
     ],
     "calculation": {
      "http://www.topbuild.com/role/DisclosureNetIncomePerShareCalculationDetails": {
       "order": 1.0,
       "parentTag": "us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding",
       "weight": 1.0
      }
     },
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Number of [basic] shares or units, after adjustment for contingently issuable shares or units and other shares or units not deemed outstanding, determined by relating the portion of time within a reporting period that common shares or units have been outstanding to the total time in that period.",
        "label": "Weighted Average Number of Shares Outstanding, Basic",
        "terseLabel": "Basic",
        "verboseLabel": "Weighted average number of common shares outstanding - basic"
       }
      }
     },
     "localname": "WeightedAverageNumberOfSharesOutstandingBasic",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.topbuild.com/role/DisclosureNetIncomePerShareCalculationDetails",
      "http://www.topbuild.com/role/StatementCondensedConsolidatedStatementsOfOperations"
     ],
     "xbrltype": "sharesItemType"
    }
   },
   "unitCount": 6
  }
 },
 "std_ref": {
  "r0": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "205",
   "URI": "https://asc.fasb.org/topic&trid=2122149",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r1": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(19))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r10": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(32))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r100": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "(d)",
   "Topic": "805",
   "URI": "https://asc.fasb.org/extlink&oid=126975305&loc=d3e6927-128479",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r101": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "805",
   "URI": "https://asc.fasb.org/topic&trid=2303972",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r102": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c),(3)",
   "Topic": "810",
   "URI": "https://asc.fasb.org/extlink&oid=109239629&loc=SL4573702-111684",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r103": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "815",
   "URI": "https://asc.fasb.org/extlink&oid=125515794&loc=SL5618551-113959",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r104": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4B",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "815",
   "URI": "https://asc.fasb.org/extlink&oid=125515794&loc=SL5624163-113959",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r105": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "820",
   "URI": "https://asc.fasb.org/extlink&oid=126976982&loc=d3e19207-110258",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r106": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "820",
   "URI": "https://asc.fasb.org/extlink&oid=126976982&loc=d3e19207-110258",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r107": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "230",
   "Topic": "830",
   "URI": "https://asc.fasb.org/extlink&oid=123444420&loc=d3e33268-110906",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r108": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "30",
   "Topic": "835",
   "URI": "https://asc.fasb.org/extlink&oid=124435984&loc=d3e28541-108399",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r109": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "30",
   "Topic": "835",
   "URI": "https://asc.fasb.org/extlink&oid=124435984&loc=d3e28551-108399",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r11": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.19(a))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r110": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "30",
   "Topic": "835",
   "URI": "https://asc.fasb.org/extlink&oid=124435984&loc=d3e28555-108399",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r111": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "30",
   "Topic": "835",
   "URI": "https://asc.fasb.org/extlink&oid=114775985&loc=d3e28878-108400",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r112": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "25",
   "SubTopic": "20",
   "Topic": "940",
   "URI": "https://asc.fasb.org/extlink&oid=126941158&loc=d3e41242-110953",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r113": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.9-03(11))",
   "Topic": "942",
   "URI": "https://asc.fasb.org/extlink&oid=126897435&loc=d3e534808-122878",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r114": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.9-03(13))",
   "Topic": "942",
   "URI": "https://asc.fasb.org/extlink&oid=126897435&loc=d3e534808-122878",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r115": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.9-03(15)(1))",
   "Topic": "942",
   "URI": "https://asc.fasb.org/extlink&oid=126897435&loc=d3e534808-122878",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r116": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.9-03(16))",
   "Topic": "942",
   "URI": "https://asc.fasb.org/extlink&oid=126897435&loc=d3e534808-122878",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r117": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.9-03(23))",
   "Topic": "942",
   "URI": "https://asc.fasb.org/extlink&oid=126897435&loc=d3e534808-122878",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r118": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.9-03.17)",
   "Topic": "942",
   "URI": "https://asc.fasb.org/extlink&oid=126897435&loc=d3e534808-122878",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r119": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.9-04(15))",
   "Topic": "942",
   "URI": "https://asc.fasb.org/extlink&oid=120399700&loc=SL114874048-224260",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r12": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.19(b),22(b))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r120": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.9-04(22))",
   "Topic": "942",
   "URI": "https://asc.fasb.org/extlink&oid=120399700&loc=SL114874048-224260",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r121": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.9-04.9)",
   "Topic": "942",
   "URI": "https://asc.fasb.org/extlink&oid=120399700&loc=SL114874048-224260",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r122": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "470",
   "Subparagraph": "e",
   "Topic": "942",
   "URI": "https://asc.fasb.org/extlink&oid=123599511&loc=d3e64711-112823",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r123": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "470",
   "Topic": "942",
   "URI": "https://asc.fasb.org/extlink&oid=123599511&loc=d3e64711-112823",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r124": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.7-03(16))",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=126734703&loc=d3e572229-122910",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r125": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.7-03(a)(12))",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=126734703&loc=d3e572229-122910",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r126": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.7-03(a)(15)(b)(1))",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=126734703&loc=d3e572229-122910",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r127": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.7-03(a)(16))",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=126734703&loc=d3e572229-122910",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r128": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.7-03(a)(23)(a)(4))",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=126734703&loc=d3e572229-122910",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r129": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.7-03(a)(25))",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=126734703&loc=d3e572229-122910",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r13": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.19)",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r130": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.7-03.(a),19)",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=126734703&loc=d3e572229-122910",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r131": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.7-04(18))",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=120400993&loc=SL114874131-224263",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r132": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.7-04(8))",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=120400993&loc=SL114874131-224263",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r133": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "105",
   "URI": "https://asc.fasb.org/extlink&oid=126987489&loc=SL124442142-165695",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r134": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(d)",
   "Topic": "205",
   "URI": "https://asc.fasb.org/extlink&oid=109222650&loc=d3e1361-107760",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r135": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "205",
   "URI": "https://asc.fasb.org/extlink&oid=109222650&loc=SL51721683-107760",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r136": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=124098289&loc=d3e6676-107765",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r137": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=124098289&loc=d3e6904-107765",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r138": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(1))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r139": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(15))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r14": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.19,20)",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r140": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(16))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r141": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(17))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r142": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(18))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r143": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(22))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r144": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(3)(c)(1))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r145": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(30)(a)(4))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r146": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(4))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r147": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(6))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r148": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(9))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r149": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.22(a)(2))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r15": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.19-26)",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r150": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=126968391&loc=SL7669619-108580",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r151": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=126968391&loc=SL7669619-108580",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r152": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=126968391&loc=SL7669619-108580",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r153": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=126968391&loc=SL7669625-108580",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r154": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=126968391&loc=SL7669625-108580",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r155": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=124431353&loc=SL124442407-227067",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r156": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=124431353&loc=SL124442411-227067",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r157": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=124431353&loc=SL124452729-227067",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r158": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(210.5-03(11))",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=126953954&loc=SL114868664-224227",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r159": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03(21))",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=126953954&loc=SL114868664-224227",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r16": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.20)",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r160": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03(24))",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=126953954&loc=SL114868664-224227",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r161": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03(25))",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=126953954&loc=SL114868664-224227",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r162": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03(5))",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=126953954&loc=SL114868664-224227",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r163": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "230",
   "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3291-108585",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r164": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3000-108585",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r165": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "24",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3521-108585",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r166": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "235",
   "URI": "https://asc.fasb.org/extlink&oid=126899994&loc=d3e18726-107790",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r167": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.4-08(g)(1)(ii))",
   "Topic": "235",
   "URI": "https://asc.fasb.org/extlink&oid=120395691&loc=d3e23780-122690",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r168": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.4-08(h)(2))",
   "Topic": "235",
   "URI": "https://asc.fasb.org/extlink&oid=120395691&loc=d3e23780-122690",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r169": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.4-08(h))",
   "Topic": "235",
   "URI": "https://asc.fasb.org/extlink&oid=120395691&loc=d3e23780-122690",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r17": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.21)",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r170": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.12-04(a))",
   "Topic": "235",
   "URI": "https://asc.fasb.org/extlink&oid=120395691&loc=d3e24072-122690",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r171": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "23",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "250",
   "URI": "https://asc.fasb.org/extlink&oid=124436220&loc=d3e21914-107793",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r172": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "24",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "250",
   "URI": "https://asc.fasb.org/extlink&oid=124436220&loc=d3e21930-107793",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r173": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "250",
   "URI": "https://asc.fasb.org/extlink&oid=124436220&loc=d3e21711-107793",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r174": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)(2)",
   "Topic": "250",
   "URI": "https://asc.fasb.org/extlink&oid=124431687&loc=d3e22499-107794",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r175": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)(3)",
   "Topic": "250",
   "URI": "https://asc.fasb.org/extlink&oid=124431687&loc=d3e22499-107794",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r176": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "11",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "250",
   "URI": "https://asc.fasb.org/extlink&oid=124431687&loc=d3e22694-107794",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r177": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "11",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "250",
   "URI": "https://asc.fasb.org/extlink&oid=124431687&loc=d3e22694-107794",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r178": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "250",
   "URI": "https://asc.fasb.org/extlink&oid=124431687&loc=d3e22583-107794",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r179": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "250",
   "URI": "https://asc.fasb.org/extlink&oid=124431687&loc=d3e22595-107794",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r18": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.22(a)(1))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r180": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "250",
   "URI": "https://asc.fasb.org/extlink&oid=124431687&loc=d3e22644-107794",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r181": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "250",
   "URI": "https://asc.fasb.org/extlink&oid=124431687&loc=d3e22644-107794",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r182": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "250",
   "URI": "https://asc.fasb.org/extlink&oid=124431687&loc=d3e22658-107794",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r183": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "9",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "250",
   "URI": "https://asc.fasb.org/extlink&oid=124431687&loc=d3e22663-107794",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r184": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB Topic 11.M.Q2)",
   "Topic": "250",
   "URI": "https://asc.fasb.org/extlink&oid=122038215&loc=d3e31137-122693",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r185": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "10",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "260",
   "URI": "https://asc.fasb.org/extlink&oid=126958026&loc=d3e1448-109256",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r186": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "16",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "260",
   "URI": "https://asc.fasb.org/extlink&oid=126958026&loc=d3e1505-109256",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r187": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "260",
   "URI": "https://asc.fasb.org/extlink&oid=126958026&loc=d3e1252-109256",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r188": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "60B",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "260",
   "URI": "https://asc.fasb.org/extlink&oid=126958026&loc=SL5780133-109256",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r189": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "60B",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "260",
   "URI": "https://asc.fasb.org/extlink&oid=126958026&loc=SL5780133-109256",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r19": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.22)",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r190": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "260",
   "URI": "https://asc.fasb.org/extlink&oid=126958026&loc=d3e1337-109256",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r191": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "260",
   "URI": "https://asc.fasb.org/extlink&oid=124432515&loc=d3e3550-109257",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r192": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "260",
   "URI": "https://asc.fasb.org/extlink&oid=124432515&loc=d3e3550-109257",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r193": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "260",
   "URI": "https://asc.fasb.org/extlink&oid=124432515&loc=d3e3630-109257",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r194": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "260",
   "URI": "https://asc.fasb.org/extlink&oid=109243012&loc=SL65017193-207537",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r195": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Topic": "260",
   "URI": "https://asc.fasb.org/extlink&oid=128363288&loc=d3e3842-109258",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r196": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "260",
   "URI": "https://asc.fasb.org/topic&trid=2144383",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r197": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "272",
   "URI": "https://asc.fasb.org/extlink&oid=125520817&loc=d3e70191-108054",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r198": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8657-108599",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r199": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "21",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8721-108599",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r2": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(20))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r20": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.24)",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r200": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "21",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8721-108599",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r201": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "22",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8736-108599",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r202": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "22",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8736-108599",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r203": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "22",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8736-108599",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r204": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "22",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8736-108599",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r205": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "22",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(e)",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8736-108599",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r206": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "22",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(f)",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8736-108599",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r207": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "22",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(g)",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8736-108599",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r208": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "22",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(h)",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8736-108599",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r209": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "22",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(j)",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8736-108599",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r21": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.25)",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r210": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "22",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8736-108599",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r211": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "25",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8813-108599",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r212": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "25",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8813-108599",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r213": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "26",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8844-108599",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r214": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "30",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8906-108599",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r215": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "30",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8906-108599",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r216": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "30",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8906-108599",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r217": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "30",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8906-108599",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r218": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "31",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8924-108599",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r219": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "32",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8933-108599",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r22": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.29-31)",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r220": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "32",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8933-108599",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r221": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "32",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8933-108599",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r222": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "32",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8933-108599",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r223": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "32",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(e)",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8933-108599",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r224": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "32",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(f)",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8933-108599",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r225": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "34",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8981-108599",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r226": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "40",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e9031-108599",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r227": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "41",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e9038-108599",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r228": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "41",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e9038-108599",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r229": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "42",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e9054-108599",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r23": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.30)",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r230": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "280",
   "URI": "https://asc.fasb.org/topic&trid=2134510",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r231": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "310",
   "URI": "https://asc.fasb.org/extlink&oid=124259787&loc=d3e4428-111522",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r232": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "9",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "310",
   "URI": "https://asc.fasb.org/extlink&oid=124259787&loc=d3e4531-111522",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r233": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "310",
   "URI": "https://asc.fasb.org/extlink&oid=123577603&loc=d3e5074-111524",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r234": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "323",
   "URI": "https://asc.fasb.org/extlink&oid=114001798&loc=d3e33918-111571",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r235": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "326",
   "URI": "https://asc.fasb.org/extlink&oid=122640432&loc=SL121648383-210437",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r236": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "20",
   "Topic": "326",
   "URI": "https://asc.fasb.org/extlink&oid=124255206&loc=SL82895884-210446",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r237": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "326",
   "URI": "https://asc.fasb.org/extlink&oid=124255953&loc=SL82919249-210447",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r238": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "330",
   "URI": "https://asc.fasb.org/extlink&oid=116847112&loc=d3e4542-108314",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r239": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "20",
   "Topic": "350",
   "URI": "https://asc.fasb.org/extlink&oid=99380562&loc=d3e13770-109266",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r24": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "10A",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a-c)",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=126968391&loc=SL7669646-108580",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r240": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "20",
   "Topic": "350",
   "URI": "https://asc.fasb.org/extlink&oid=99380562&loc=d3e13777-109266",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r241": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "350",
   "URI": "https://asc.fasb.org/extlink&oid=121556970&loc=d3e13816-109267",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r242": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "350",
   "URI": "https://asc.fasb.org/extlink&oid=121556970&loc=d3e13816-109267",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r243": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(c)",
   "Topic": "350",
   "URI": "https://asc.fasb.org/extlink&oid=121556970&loc=d3e13816-109267",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r244": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(d)",
   "Topic": "350",
   "URI": "https://asc.fasb.org/extlink&oid=121556970&loc=d3e13816-109267",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r245": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(e)",
   "Topic": "350",
   "URI": "https://asc.fasb.org/extlink&oid=121556970&loc=d3e13816-109267",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r246": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(f)",
   "Topic": "350",
   "URI": "https://asc.fasb.org/extlink&oid=121556970&loc=d3e13816-109267",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r247": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(g)",
   "Topic": "350",
   "URI": "https://asc.fasb.org/extlink&oid=121556970&loc=d3e13816-109267",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r248": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(h)",
   "Topic": "350",
   "URI": "https://asc.fasb.org/extlink&oid=121556970&loc=d3e13816-109267",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r249": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "350",
   "URI": "https://asc.fasb.org/extlink&oid=121556970&loc=d3e13816-109267",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r25": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "10A",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=126968391&loc=SL7669646-108580",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r250": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "350",
   "URI": "https://asc.fasb.org/extlink&oid=121556970&loc=SL108378252-109267",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r251": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "350",
   "URI": "https://asc.fasb.org/extlink&oid=121556970&loc=d3e13854-109267",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r252": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "(a)(1)",
   "Topic": "350",
   "URI": "https://asc.fasb.org/extlink&oid=66006027&loc=d3e16323-109275",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r253": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(f)",
   "Topic": "360",
   "URI": "https://asc.fasb.org/extlink&oid=109226691&loc=d3e2941-110230",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r254": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "420",
   "URI": "https://asc.fasb.org/extlink&oid=6394359&loc=d3e17939-110869",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r255": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB Topic 5.P.4(d))",
   "Topic": "420",
   "URI": "https://asc.fasb.org/extlink&oid=115931487&loc=d3e140904-122747",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r256": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "440",
   "URI": "https://asc.fasb.org/extlink&oid=123406679&loc=d3e25336-109308",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r257": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "440",
   "URI": "https://asc.fasb.org/extlink&oid=123406679&loc=d3e25336-109308",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r258": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "450",
   "URI": "https://asc.fasb.org/extlink&oid=121557415&loc=d3e14435-108349",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r259": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "9",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "450",
   "URI": "https://asc.fasb.org/extlink&oid=121557415&loc=d3e14557-108349",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r26": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "11",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=126968391&loc=d3e637-108580",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r260": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "20",
   "Subparagraph": "(SAB Topic 5.Y.Q2)",
   "Topic": "450",
   "URI": "https://asc.fasb.org/extlink&oid=27011672&loc=d3e149879-122751",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r261": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "20",
   "Subparagraph": "(SAB Topic 5.Y.Q4)",
   "Topic": "450",
   "URI": "https://asc.fasb.org/extlink&oid=27011672&loc=d3e149879-122751",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r262": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.13-01(a)(4)(i))",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=126975872&loc=SL124442526-122756",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r263": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.13-01(a)(4)(iii)(A))",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=126975872&loc=SL124442526-122756",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r264": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.13-01(a)(4)(iii)(B))",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=126975872&loc=SL124442526-122756",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r265": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.13-01(a)(4)(iv))",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=126975872&loc=SL124442526-122756",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r266": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.13-01(a)(5))",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=126975872&loc=SL124442526-122756",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r267": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.13-02(a)(4)(i))",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=126975872&loc=SL124442552-122756",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r268": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.13-02(a)(4)(iii)(A)",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=126975872&loc=SL124442552-122756",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r269": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.13-02(a)(4)(iii)(A))",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=126975872&loc=SL124442552-122756",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r27": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "14",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=126968391&loc=d3e681-108580",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r270": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.13-02(a)(4)(iii)(B)",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=126975872&loc=SL124442552-122756",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r271": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.13-02(a)(4)(iii)(B))",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=126975872&loc=SL124442552-122756",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r272": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.13-02(a)(4)(iii)(C))",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=126975872&loc=SL124442552-122756",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r273": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.13-02(a)(4)(iv))",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=126975872&loc=SL124442552-122756",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r274": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.13-02(a)(5))",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=126975872&loc=SL124442552-122756",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r275": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495323-112611",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r276": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495323-112611",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r277": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(c)",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495323-112611",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r278": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(e)",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495323-112611",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r279": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(f)",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495323-112611",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r28": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "14A",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=126968391&loc=SL7669686-108580",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r280": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(h)",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495323-112611",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r281": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1D",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495340-112611",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r282": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1D",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495340-112611",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r283": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1D",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(c)",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495340-112611",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r284": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1E",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495348-112611",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r285": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1E",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(c)",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495348-112611",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r286": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1E",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(d)",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495348-112611",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r287": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1F",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495355-112611",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r288": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1F",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495355-112611",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r289": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1F",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)(1)",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495355-112611",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r29": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=126968391&loc=d3e557-108580",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r290": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1F",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)(2)",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495355-112611",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r291": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1I",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(c)",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495371-112611",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r292": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)(1)",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=123466204&loc=SL6031897-161870",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r293": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)(3)",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=123466204&loc=SL6031897-161870",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r294": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=123466204&loc=SL6036836-161870",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r295": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "505",
   "URI": "https://asc.fasb.org/extlink&oid=126973232&loc=SL123496158-112644",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r296": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.3-04)",
   "Topic": "505",
   "URI": "https://asc.fasb.org/extlink&oid=120397183&loc=d3e187085-122770",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r297": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "606",
   "URI": "https://asc.fasb.org/extlink&oid=126919976&loc=SL49130531-203044",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r298": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "606",
   "URI": "https://asc.fasb.org/extlink&oid=126919976&loc=SL49130532-203044",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r299": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "606",
   "URI": "https://asc.fasb.org/extlink&oid=126919976&loc=SL49130533-203044",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r3": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(22))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r30": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=124507222&loc=d3e1436-108581",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r300": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "10",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "606",
   "URI": "https://asc.fasb.org/extlink&oid=126920106&loc=SL49130551-203045",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r301": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "12",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "606",
   "URI": "https://asc.fasb.org/extlink&oid=126920106&loc=SL49130554-203045",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r302": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "12",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "606",
   "URI": "https://asc.fasb.org/extlink&oid=126920106&loc=SL49130554-203045",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r303": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "12",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "606",
   "URI": "https://asc.fasb.org/extlink&oid=126920106&loc=SL49130554-203045",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r304": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "12",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "606",
   "URI": "https://asc.fasb.org/extlink&oid=126920106&loc=SL49130554-203045",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r305": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "12",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(e)",
   "Topic": "606",
   "URI": "https://asc.fasb.org/extlink&oid=126920106&loc=SL49130554-203045",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r306": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "606",
   "URI": "https://asc.fasb.org/extlink&oid=126920106&loc=SL49130556-203045",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r307": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)(2)",
   "Topic": "606",
   "URI": "https://asc.fasb.org/extlink&oid=126920106&loc=SL49130556-203045",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r308": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "606",
   "URI": "https://asc.fasb.org/extlink&oid=126920106&loc=SL49130558-203045",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r309": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "606",
   "URI": "https://asc.fasb.org/extlink&oid=126920106&loc=SL49130543-203045",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r31": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03(10))",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=126953954&loc=SL114868664-224227",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r310": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "606",
   "URI": "https://asc.fasb.org/extlink&oid=126920106&loc=SL49130545-203045",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r311": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "606",
   "URI": "https://asc.fasb.org/extlink&oid=126920106&loc=SL49130549-203045",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r312": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "9",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "606",
   "URI": "https://asc.fasb.org/extlink&oid=126920106&loc=SL49130550-203045",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r313": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "606",
   "URI": "https://asc.fasb.org/topic&trid=49130388",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r314": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(d)(i)",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r315": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(d)(iv)(01)",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r316": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(d)(iv)(02)",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r317": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(d)(iv)(02)(A)",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r318": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(d)(iv)(02)(B)",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r319": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(d)(iv)(02)(C)",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r32": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03(20))",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=126953954&loc=SL114868664-224227",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r320": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(d)(iv)(03)",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r321": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "80",
   "Subparagraph": "(d)",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=65877416&loc=SL14450657-114947",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r322": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "80",
   "Subparagraph": "(f)(3)",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=65877416&loc=SL14450657-114947",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r323": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1D",
   "Publisher": "FASB",
   "Section": "35",
   "SubTopic": "10",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=126961718&loc=SL116886442-113899",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r324": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "35",
   "SubTopic": "10",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=126961718&loc=d3e4534-113899",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r325": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "35",
   "SubTopic": "10",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=126961718&loc=d3e4549-113899",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r326": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r327": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)(1)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r328": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)(2)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r329": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)(3)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r33": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03(8))",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=126953954&loc=SL114868664-224227",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r330": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)(i)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r331": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)(ii)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r332": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)(iii)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r333": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)(iv)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r334": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)(iv)(01)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r335": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)(iv)(02)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r336": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)(iv)(03)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r337": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)(iv)(04)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r338": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(2)(i)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r339": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(2)(ii)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r34": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03.1,2)",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=126953954&loc=SL114868664-224227",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r340": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(2)(iii)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r341": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(2)(iii)(01)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r342": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(2)(iii)(02)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r343": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(2)(iii)(03)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r344": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)(1)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r345": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)(2)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r346": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(e)(1)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r347": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(e)(2)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r348": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(f)(2)(i)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r349": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(f)(2)(ii)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r35": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03.2(a),(d))",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=126953954&loc=SL114868664-224227",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r350": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(f)(2)(iii)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r351": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(f)(2)(iv)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r352": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(f)(2)(v)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r353": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(h)(1)(i)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r354": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(h)(2)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r355": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(h)(2)(i)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r356": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(i)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r357": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(l)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r358": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(e)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128097895&loc=SL121327923-165333",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r359": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(f)(1)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128097895&loc=SL121327923-165333",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r36": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03.4)",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=126953954&loc=SL114868664-224227",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r360": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(f)(2)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128097895&loc=SL121327923-165333",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r361": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "718",
   "URI": "https://asc.fasb.org/topic&trid=2228938",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r362": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=123427490&loc=d3e31917-109318",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r363": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=123427490&loc=d3e31931-109318",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r364": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "10",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=121826272&loc=d3e32672-109319",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r365": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "12",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=121826272&loc=d3e32687-109319",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r366": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "14",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=121826272&loc=d3e32705-109319",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r367": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "17",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=121826272&loc=d3e32809-109319",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r368": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "21",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=121826272&loc=d3e32857-109319",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r369": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(d)(2)",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=126983759&loc=SL121830611-158277",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r37": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03.7)",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=126953954&loc=SL114868664-224227",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r370": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(d)(3)",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=126983759&loc=SL121830611-158277",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r371": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB TOPIC 6.I.5.Q1)",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=122134291&loc=d3e330036-122817",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r372": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB TOPIC 6.I.7)",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=122134291&loc=d3e330036-122817",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r373": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB Topic 11.C)",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=122134291&loc=d3e330215-122817",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r374": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=123586238&loc=d3e38679-109324",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r375": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "270",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=6424409&loc=d3e44925-109338",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r376": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "(a)",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=6424122&loc=d3e41874-109331",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r377": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "740",
   "URI": "https://asc.fasb.org/topic&trid=2144680",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r378": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "805",
   "URI": "https://asc.fasb.org/extlink&oid=128092470&loc=d3e4946-128472",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r379": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "805",
   "URI": "https://asc.fasb.org/extlink&oid=128092470&loc=d3e4946-128472",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r38": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03.9)",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=126953954&loc=SL114868664-224227",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r380": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "(b)(1)",
   "Topic": "805",
   "URI": "https://asc.fasb.org/extlink&oid=126975305&loc=d3e6927-128479",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r381": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "19",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "810",
   "URI": "https://asc.fasb.org/extlink&oid=126929396&loc=SL4569616-111683",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r382": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "25",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "810",
   "URI": "https://asc.fasb.org/extlink&oid=116870748&loc=SL6758485-165988",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r383": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "25",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "810",
   "URI": "https://asc.fasb.org/extlink&oid=116870748&loc=SL6758485-165988",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r384": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)(1)",
   "Topic": "810",
   "URI": "https://asc.fasb.org/extlink&oid=109239629&loc=SL4573702-111684",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r385": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)",
   "Topic": "810",
   "URI": "https://asc.fasb.org/extlink&oid=109239629&loc=SL4573702-111684",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r386": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(bb)",
   "Topic": "810",
   "URI": "https://asc.fasb.org/extlink&oid=123419778&loc=d3e5710-111685",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r387": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "810",
   "URI": "https://asc.fasb.org/extlink&oid=123419778&loc=d3e5710-111685",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r388": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(e)(3)",
   "Topic": "815",
   "URI": "https://asc.fasb.org/extlink&oid=126732423&loc=SL123482106-238011",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r389": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(e)(4)",
   "Topic": "815",
   "URI": "https://asc.fasb.org/extlink&oid=126732423&loc=SL123482106-238011",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r39": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "12",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "230",
   "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3179-108585",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r390": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(f)",
   "Topic": "815",
   "URI": "https://asc.fasb.org/extlink&oid=126732423&loc=SL123482106-238011",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r391": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "820",
   "URI": "https://asc.fasb.org/extlink&oid=126976982&loc=d3e19207-110258",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r392": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "820",
   "URI": "https://asc.fasb.org/extlink&oid=126976982&loc=d3e19207-110258",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r393": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(bbb)(1)",
   "Topic": "820",
   "URI": "https://asc.fasb.org/extlink&oid=126976982&loc=d3e19207-110258",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r394": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(bbb)(2)",
   "Topic": "820",
   "URI": "https://asc.fasb.org/extlink&oid=126976982&loc=d3e19207-110258",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r395": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(h)",
   "Topic": "820",
   "URI": "https://asc.fasb.org/extlink&oid=126976982&loc=d3e19207-110258",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r396": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "820",
   "URI": "https://asc.fasb.org/extlink&oid=126976982&loc=d3e19207-110258",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r397": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "820",
   "URI": "https://asc.fasb.org/extlink&oid=126976982&loc=d3e19279-110258",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r398": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "820",
   "URI": "https://asc.fasb.org/extlink&oid=126976982&loc=SL6742756-110258",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r399": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "10",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "825",
   "URI": "https://asc.fasb.org/extlink&oid=123594938&loc=d3e13433-108611",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r4": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(28))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r40": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "230",
   "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3213-108585",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r400": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "28",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(f)",
   "Topic": "825",
   "URI": "https://asc.fasb.org/extlink&oid=123596393&loc=d3e14064-108612",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r401": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "9",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "830",
   "URI": "https://asc.fasb.org/extlink&oid=126980362&loc=d3e28129-110885",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r402": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "35",
   "SubTopic": "20",
   "Topic": "830",
   "URI": "https://asc.fasb.org/extlink&oid=123602790&loc=d3e30304-110892",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r403": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "230",
   "Topic": "830",
   "URI": "https://asc.fasb.org/extlink&oid=123444420&loc=d3e33268-110906",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r404": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "12",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "30",
   "Topic": "830",
   "URI": "https://asc.fasb.org/extlink&oid=118261656&loc=d3e32022-110900",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r405": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "17",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "30",
   "Topic": "830",
   "URI": "https://asc.fasb.org/extlink&oid=118261656&loc=d3e32136-110900",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r406": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "20",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "30",
   "Subparagraph": "(a)",
   "Topic": "830",
   "URI": "https://asc.fasb.org/extlink&oid=118261656&loc=d3e32211-110900",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r407": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "20",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "30",
   "Subparagraph": "(b)",
   "Topic": "830",
   "URI": "https://asc.fasb.org/extlink&oid=118261656&loc=d3e32211-110900",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r408": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "20",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "30",
   "Subparagraph": "(c)",
   "Topic": "830",
   "URI": "https://asc.fasb.org/extlink&oid=118261656&loc=d3e32211-110900",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r409": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "20",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "30",
   "Subparagraph": "(d)",
   "Topic": "830",
   "URI": "https://asc.fasb.org/extlink&oid=118261656&loc=d3e32211-110900",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r41": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "230",
   "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3213-108585",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r410": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "20",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "30",
   "Topic": "830",
   "URI": "https://asc.fasb.org/extlink&oid=118261656&loc=d3e32211-110900",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r411": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Topic": "830",
   "URI": "https://asc.fasb.org/extlink&oid=6450520&loc=d3e32583-110901",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r412": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "835",
   "URI": "https://asc.fasb.org/extlink&oid=6450988&loc=d3e26243-108391",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r413": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "30",
   "Topic": "835",
   "URI": "https://asc.fasb.org/extlink&oid=124435984&loc=d3e28555-108399",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r414": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Topic": "835",
   "URI": "https://asc.fasb.org/extlink&oid=124429444&loc=SL124452920-239629",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r415": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "842",
   "URI": "https://asc.fasb.org/extlink&oid=123391704&loc=SL77918627-209977",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r416": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "842",
   "URI": "https://asc.fasb.org/extlink&oid=123391704&loc=SL77918627-209977",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r417": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(g)(2)",
   "Topic": "842",
   "URI": "https://asc.fasb.org/extlink&oid=128292326&loc=SL77918686-209980",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r418": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(a)(3)(iii)(03)",
   "Topic": "848",
   "URI": "https://asc.fasb.org/extlink&oid=125980421&loc=SL125981372-237846",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r419": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(bb)(1)",
   "Topic": "860",
   "URI": "https://asc.fasb.org/extlink&oid=121570589&loc=d3e107207-111719",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r42": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "14",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "230",
   "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3255-108585",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r420": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(bb)(2)",
   "Topic": "860",
   "URI": "https://asc.fasb.org/extlink&oid=121570589&loc=d3e107207-111719",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r421": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(bb)(3)",
   "Topic": "860",
   "URI": "https://asc.fasb.org/extlink&oid=121570589&loc=d3e107207-111719",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r422": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(c)(1)",
   "Topic": "860",
   "URI": "https://asc.fasb.org/extlink&oid=121570589&loc=d3e107207-111719",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r423": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "910",
   "URI": "https://asc.fasb.org/extlink&oid=126937589&loc=SL119991595-234733",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r424": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "910",
   "URI": "https://asc.fasb.org/extlink&oid=126937589&loc=SL119991598-234733",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r425": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB Topic 11.L)",
   "Topic": "924",
   "URI": "https://asc.fasb.org/extlink&oid=6472922&loc=d3e499488-122856",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r426": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "926",
   "URI": "https://asc.fasb.org/extlink&oid=120154696&loc=d3e54445-107959",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r427": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "340",
   "Topic": "928",
   "URI": "https://asc.fasb.org/extlink&oid=6473545&loc=d3e61844-108004",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r428": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.9-03(10)(1))",
   "Topic": "942",
   "URI": "https://asc.fasb.org/extlink&oid=126897435&loc=d3e534808-122878",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r429": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.9-04(23))",
   "Topic": "942",
   "URI": "https://asc.fasb.org/extlink&oid=120399700&loc=SL114874048-224260",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r43": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "230",
   "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3291-108585",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r430": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.9-04(26))",
   "Topic": "942",
   "URI": "https://asc.fasb.org/extlink&oid=120399700&loc=SL114874048-224260",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r431": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.9-04(27))",
   "Topic": "942",
   "URI": "https://asc.fasb.org/extlink&oid=120399700&loc=SL114874048-224260",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r432": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "235",
   "Subparagraph": "(SX 210.9-05(b)(2))",
   "Topic": "942",
   "URI": "https://asc.fasb.org/extlink&oid=120399901&loc=d3e537907-122884",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r433": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.7-03(a)(23)(a)(3))",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=126734703&loc=d3e572229-122910",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r434": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.7-04(19))",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=120400993&loc=SL114874131-224263",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r435": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.7-04(22))",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=120400993&loc=SL114874131-224263",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r436": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.7-04(23))",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=120400993&loc=SL114874131-224263",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r437": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.7-04(9))",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=120400993&loc=SL114874131-224263",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r438": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "40",
   "Subparagraph": "(d)",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=124506351&loc=SL117782755-158439",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r439": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(e)",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=124501264&loc=SL117420844-207641",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r44": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "230",
   "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3291-108585",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r440": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(f)(1)",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=124501264&loc=SL117420844-207641",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r441": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(f)(2)",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=124501264&loc=SL117420844-207641",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r442": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(g)(2)(i)",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=124501264&loc=SL117420844-207641",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r443": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(g)(2)(ii)",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=124501264&loc=SL117420844-207641",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r444": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(h)(2)",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=124501264&loc=SL117420844-207641",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r445": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "440",
   "Subparagraph": "(a)",
   "Topic": "954",
   "URI": "https://asc.fasb.org/extlink&oid=6491277&loc=d3e6429-115629",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r446": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "310",
   "Subparagraph": "(c)",
   "Topic": "976",
   "URI": "https://asc.fasb.org/extlink&oid=6497875&loc=d3e22274-108663",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r447": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "310",
   "Subparagraph": "(b)",
   "Topic": "978",
   "URI": "https://asc.fasb.org/extlink&oid=126945304&loc=d3e27327-108691",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r448": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=124098289&loc=d3e6676-107765",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r449": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=124098289&loc=d3e6676-107765",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r45": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(f)",
   "Topic": "230",
   "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3291-108585",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r450": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "52",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Topic": "260",
   "URI": "https://asc.fasb.org/extlink&oid=128363288&loc=d3e4984-109258",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r451": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "30",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8906-108599",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r452": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "31",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8924-108599",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r453": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "24",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "20",
   "Topic": "350",
   "URI": "https://asc.fasb.org/extlink&oid=122137925&loc=d3e14258-109268",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r454": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(d)",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495323-112611",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r455": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "69B",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "20",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=123466577&loc=SL123495735-112612",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r456": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "69C",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "20",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=123466577&loc=SL123495737-112612",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r457": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "69E",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "20",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=123466577&loc=SL123495743-112612",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r458": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "69F",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "20",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=123466577&loc=SL123495745-112612",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r459": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "505",
   "URI": "https://asc.fasb.org/extlink&oid=126973232&loc=SL123496158-112644",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r46": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "24",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3521-108585",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r460": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "91",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "606",
   "URI": "https://asc.fasb.org/extlink&oid=126920602&loc=SL49130690-203046-203046",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r461": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "91",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "606",
   "URI": "https://asc.fasb.org/extlink&oid=126920602&loc=SL49130690-203046-203046",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r462": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "91",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "606",
   "URI": "https://asc.fasb.org/extlink&oid=126920602&loc=SL49130690-203046-203046",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r463": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "91",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "606",
   "URI": "https://asc.fasb.org/extlink&oid=126920602&loc=SL49130690-203046-203046",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r464": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "91",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Subparagraph": "(e)",
   "Topic": "606",
   "URI": "https://asc.fasb.org/extlink&oid=126920602&loc=SL49130690-203046-203046",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r465": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "91",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Subparagraph": "(f)",
   "Topic": "606",
   "URI": "https://asc.fasb.org/extlink&oid=126920602&loc=SL49130690-203046-203046",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r466": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "91",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Subparagraph": "(g)",
   "Topic": "606",
   "URI": "https://asc.fasb.org/extlink&oid=126920602&loc=SL49130690-203046-203046",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r467": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(d)(ii)",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r468": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(d)(iv)(01)",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r469": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "17",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "20",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=123450688&loc=d3e4179-114921",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r47": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "25",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3536-108585",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r470": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "11",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "80",
   "Subparagraph": "(a)",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=65877416&loc=SL14450702-114947",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r471": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "80",
   "Subparagraph": "(a)",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=65877416&loc=SL14450673-114947",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r472": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "80",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=35742348&loc=SL14450788-114948",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r473": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)(1)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r474": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)(3)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r475": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4J",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Topic": "810",
   "URI": "https://asc.fasb.org/extlink&oid=120409616&loc=SL4591551-111686",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r476": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4K",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Topic": "810",
   "URI": "https://asc.fasb.org/extlink&oid=120409616&loc=SL4591552-111686",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r477": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "53",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "20",
   "Topic": "842",
   "URI": "https://asc.fasb.org/extlink&oid=123414884&loc=SL77918982-209971",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r478": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "10",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Topic": "852",
   "URI": "https://asc.fasb.org/extlink&oid=84165509&loc=d3e56426-112766",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r479": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13H",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "40",
   "Subparagraph": "(a)",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=126561865&loc=SL117783719-158441",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r48": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "28",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "230",
   "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3602-108585",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r480": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "29F",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "40",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=126561865&loc=SL117819544-158441",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r481": {
   "Name": "Exchange Act",
   "Number": "240",
   "Publisher": "SEC",
   "Section": "12",
   "Subsection": "b",
   "role": "http://www.xbrl.org/2003/role/presentationRef"
  },
  "r482": {
   "Name": "Exchange Act",
   "Number": "240",
   "Publisher": "SEC",
   "Section": "12",
   "Subsection": "b-2",
   "role": "http://www.xbrl.org/2003/role/presentationRef"
  },
  "r483": {
   "Name": "Exchange Act",
   "Number": "240",
   "Publisher": "SEC",
   "Section": "12",
   "Subsection": "d1-1",
   "role": "http://www.xbrl.org/2003/role/presentationRef"
  },
  "r484": {
   "Name": "Form 10-Q",
   "Number": "240",
   "Publisher": "SEC",
   "Section": "308",
   "Subsection": "a",
   "role": "http://www.xbrl.org/2003/role/presentationRef"
  },
  "r485": {
   "Name": "Forms 10-K, 10-Q, 20-F",
   "Number": "240",
   "Publisher": "SEC",
   "Section": "13",
   "Subsection": "a-1",
   "role": "http://www.xbrl.org/2003/role/presentationRef"
  },
  "r486": {
   "Name": "Regulation S-T",
   "Number": "232",
   "Publisher": "SEC",
   "Section": "405",
   "role": "http://www.xbrl.org/2003/role/presentationRef"
  },
  "r487": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "10",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "450",
   "URI": "https://asc.fasb.org/extlink&oid=121557415&loc=d3e14615-108349",
   "role": "http://www.xbrl.org/2003/role/recommendedDisclosureRef"
  },
  "r488": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "855",
   "URI": "https://asc.fasb.org/extlink&oid=6842918&loc=SL6314020-165662",
   "role": "http://www.xbrl.org/2003/role/recommendedDisclosureRef"
  },
  "r489": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(9))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r49": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "28",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "230",
   "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3602-108585",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r490": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=124431353&loc=SL124442407-227067",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r491": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=124431353&loc=SL124442411-227067",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r492": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=124431353&loc=SL124452729-227067",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r493": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "28",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "230",
   "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3602-108585",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r494": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.4-08(f))",
   "Topic": "235",
   "URI": "https://asc.fasb.org/extlink&oid=120395691&loc=d3e23780-122690",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r495": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.4-08(g)(1)(ii))",
   "Topic": "235",
   "URI": "https://asc.fasb.org/extlink&oid=120395691&loc=d3e23780-122690",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r496": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.12-04(a))",
   "Topic": "235",
   "URI": "https://asc.fasb.org/extlink&oid=120395691&loc=d3e24072-122690",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r497": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "23",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "250",
   "URI": "https://asc.fasb.org/extlink&oid=124436220&loc=d3e21914-107793",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r498": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "24",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "250",
   "URI": "https://asc.fasb.org/extlink&oid=124436220&loc=d3e21930-107793",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r499": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "250",
   "URI": "https://asc.fasb.org/extlink&oid=124436220&loc=d3e21711-107793",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r5": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(29))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r50": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "28",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3602-108585",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r500": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "250",
   "URI": "https://asc.fasb.org/extlink&oid=124431687&loc=d3e22595-107794",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r501": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "260",
   "URI": "https://asc.fasb.org/extlink&oid=124432515&loc=d3e3550-109257",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r502": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "18",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8672-108599",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r503": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "30",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8906-108599",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r504": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "323",
   "URI": "https://asc.fasb.org/extlink&oid=114001798&loc=d3e33918-111571",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r505": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "350",
   "URI": "https://asc.fasb.org/extlink&oid=121556970&loc=d3e13816-109267",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r506": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "350",
   "URI": "https://asc.fasb.org/extlink&oid=121556970&loc=d3e13816-109267",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r507": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(c)",
   "Topic": "350",
   "URI": "https://asc.fasb.org/extlink&oid=121556970&loc=d3e13816-109267",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r508": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(d)",
   "Topic": "350",
   "URI": "https://asc.fasb.org/extlink&oid=121556970&loc=d3e13816-109267",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r509": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(e)",
   "Topic": "350",
   "URI": "https://asc.fasb.org/extlink&oid=121556970&loc=d3e13816-109267",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r51": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3044-108585",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r510": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(f)",
   "Topic": "350",
   "URI": "https://asc.fasb.org/extlink&oid=121556970&loc=d3e13816-109267",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r511": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(g)",
   "Topic": "350",
   "URI": "https://asc.fasb.org/extlink&oid=121556970&loc=d3e13816-109267",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r512": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(h)",
   "Topic": "350",
   "URI": "https://asc.fasb.org/extlink&oid=121556970&loc=d3e13816-109267",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r513": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "350",
   "URI": "https://asc.fasb.org/extlink&oid=121556970&loc=d3e13816-109267",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r514": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "350",
   "URI": "https://asc.fasb.org/extlink&oid=121556970&loc=SL108378252-109267",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r515": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "350",
   "URI": "https://asc.fasb.org/extlink&oid=121556970&loc=d3e13854-109267",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r516": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "360",
   "URI": "https://asc.fasb.org/extlink&oid=6391035&loc=d3e2868-110229",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r517": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "10",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "(c)",
   "Topic": "410",
   "URI": "https://asc.fasb.org/extlink&oid=6393242&loc=d3e13237-110859",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r518": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "9",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "450",
   "URI": "https://asc.fasb.org/extlink&oid=121557415&loc=d3e14557-108349",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r519": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "20",
   "Subparagraph": "(SAB Topic 5.Y.Q2)",
   "Topic": "450",
   "URI": "https://asc.fasb.org/extlink&oid=27011672&loc=d3e149879-122751",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r52": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "https://asc.fasb.org/extlink&oid=126999549&loc=d3e4304-108586",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r520": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "450",
   "URI": "https://asc.fasb.org/topic&trid=2127136",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r521": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.13-01(a)(4)(ii))",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=126975872&loc=SL124442526-122756",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r522": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.13-01(a)(4)(iii))",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=126975872&loc=SL124442526-122756",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r523": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(d)",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495323-112611",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r524": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1D",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495340-112611",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r525": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "10",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "606",
   "URI": "https://asc.fasb.org/extlink&oid=126920106&loc=SL49130551-203045",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r526": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "606",
   "URI": "https://asc.fasb.org/extlink&oid=126920106&loc=SL49130545-203045",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r527": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)(1)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r528": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)(2)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r529": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)(3)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r53": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "https://asc.fasb.org/extlink&oid=126999549&loc=d3e4313-108586",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r530": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)(i)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r531": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)(ii)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r532": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)(iii)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r533": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)(iv)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r534": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)(iv)(01)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r535": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)(iv)(02)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r536": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)(iv)(03)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r537": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)(iv)(04)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r538": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(2)(i)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r539": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(2)(ii)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r54": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "https://asc.fasb.org/extlink&oid=126999549&loc=d3e4332-108586",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r540": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(2)(iii)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r541": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(2)(iii)(01)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r542": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(2)(iii)(02)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r543": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(2)(iii)(03)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r544": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)(1)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r545": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)(2)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r546": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(e)(1)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r547": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(e)(2)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r548": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(f)(2)(i)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r549": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(f)(2)(ii)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r55": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "https://asc.fasb.org/extlink&oid=126999549&loc=SL98516268-108586",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r550": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(f)(2)(iii)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r551": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(f)(2)(iv)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r552": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(f)(2)(v)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r553": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(i)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r554": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=121826272&loc=d3e32537-109319",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r555": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6A",
   "Publisher": "FASB",
   "Section": "25",
   "SubTopic": "20",
   "Topic": "815",
   "URI": "https://asc.fasb.org/extlink&oid=124256753&loc=SL5864739-113975",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r556": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(e)(3)",
   "Topic": "815",
   "URI": "https://asc.fasb.org/extlink&oid=126732423&loc=SL123482106-238011",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r557": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(bbb)(2)",
   "Topic": "820",
   "URI": "https://asc.fasb.org/extlink&oid=126976982&loc=d3e19207-110258",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r558": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "28",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(f)",
   "Topic": "825",
   "URI": "https://asc.fasb.org/extlink&oid=123596393&loc=d3e14064-108612",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r559": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "842",
   "URI": "https://asc.fasb.org/extlink&oid=128292326&loc=SL77918686-209980",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r56": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "235",
   "URI": "https://asc.fasb.org/topic&trid=2122369",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r560": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "852",
   "URI": "https://asc.fasb.org/extlink&oid=124433192&loc=SL2890621-112765",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r561": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "852",
   "URI": "https://asc.fasb.org/extlink&oid=124433192&loc=SL2890621-112765",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r562": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(c)(1)",
   "Topic": "860",
   "URI": "https://asc.fasb.org/extlink&oid=121570589&loc=d3e107207-111719",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r563": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(c)(2)",
   "Topic": "860",
   "URI": "https://asc.fasb.org/extlink&oid=121570589&loc=d3e107207-111719",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r564": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(c)(3)",
   "Topic": "860",
   "URI": "https://asc.fasb.org/extlink&oid=121570589&loc=d3e107207-111719",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r565": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)(1)",
   "Topic": "860",
   "URI": "https://asc.fasb.org/extlink&oid=121570589&loc=d3e107314-111719",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r566": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)(2)",
   "Topic": "860",
   "URI": "https://asc.fasb.org/extlink&oid=121570589&loc=d3e107314-111719",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r567": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)(3)",
   "Topic": "860",
   "URI": "https://asc.fasb.org/extlink&oid=121570589&loc=d3e107314-111719",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r568": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4H",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "40",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=116884468&loc=SL65671331-158438",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r569": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13H",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "40",
   "Subparagraph": "(c)",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=126561865&loc=SL117783719-158441",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r57": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "260",
   "URI": "https://asc.fasb.org/extlink&oid=124432515&loc=d3e3550-109257",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r58": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "275",
   "URI": "https://asc.fasb.org/topic&trid=2134479",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r59": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "22",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8736-108599",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r6": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(30)(a)(1))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r60": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "25",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8813-108599",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r61": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "30",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8906-108599",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r62": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8475-108599",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r63": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB Topic 4.E)",
   "Topic": "310",
   "URI": "https://asc.fasb.org/extlink&oid=122038336&loc=d3e74512-122707",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r64": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "350",
   "URI": "https://asc.fasb.org/extlink&oid=121556970&loc=d3e13816-109267",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r65": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "30",
   "Topic": "350",
   "URI": "https://asc.fasb.org/extlink&oid=6388964&loc=d3e16212-109274",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r66": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "30",
   "Topic": "350",
   "URI": "https://asc.fasb.org/extlink&oid=6388964&loc=d3e16225-109274",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r67": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "((a)(1),(b))",
   "Topic": "350",
   "URI": "https://asc.fasb.org/extlink&oid=66006027&loc=d3e16323-109275",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r68": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "(a)(1)",
   "Topic": "350",
   "URI": "https://asc.fasb.org/extlink&oid=66006027&loc=d3e16323-109275",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r69": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "(a)(2)",
   "Topic": "350",
   "URI": "https://asc.fasb.org/extlink&oid=66006027&loc=d3e16323-109275",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r7": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(30)(a)(3))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r70": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "350",
   "URI": "https://asc.fasb.org/topic&trid=2144416",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r71": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "440",
   "URI": "https://asc.fasb.org/topic&trid=2144648",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r72": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=123465755&loc=d3e1835-112601",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r73": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=123465755&loc=SL6230698-112601",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r74": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "470",
   "URI": "https://asc.fasb.org/topic&trid=2208564",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r75": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "505",
   "URI": "https://asc.fasb.org/extlink&oid=126973232&loc=d3e21463-112644",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r76": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "505",
   "URI": "https://asc.fasb.org/extlink&oid=126973232&loc=d3e21475-112644",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r77": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "505",
   "URI": "https://asc.fasb.org/extlink&oid=126973232&loc=d3e21506-112644",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r78": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "505",
   "URI": "https://asc.fasb.org/extlink&oid=126973232&loc=d3e21521-112644",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r79": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "505",
   "URI": "https://asc.fasb.org/extlink&oid=126973232&loc=d3e21538-112644",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r8": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(30))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r80": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.3-04)",
   "Topic": "505",
   "URI": "https://asc.fasb.org/extlink&oid=120397183&loc=d3e187085-122770",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r81": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "30",
   "Topic": "505",
   "URI": "https://asc.fasb.org/extlink&oid=6405813&loc=d3e23239-112655",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r82": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Topic": "505",
   "URI": "https://asc.fasb.org/extlink&oid=6405834&loc=d3e23315-112656",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r83": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(2)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r84": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r85": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(e)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r86": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(h)(1)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r87": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r88": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=SL79508275-113901",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r89": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB Topic 14.F)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=122041274&loc=d3e301413-122809",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r9": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(31))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r90": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "12",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "20",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=126964447&loc=d3e11149-113907",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r91": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "20",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=126964447&loc=d3e11178-113907",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r92": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=123427490&loc=d3e31931-109318",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r93": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "23",
   "Publisher": "FASB",
   "Section": "25",
   "SubTopic": "10",
   "Topic": "805",
   "URI": "https://asc.fasb.org/extlink&oid=123586518&loc=d3e1043-128460",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r94": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "805",
   "URI": "https://asc.fasb.org/extlink&oid=79982066&loc=d3e1392-128463",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r95": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "805",
   "URI": "https://asc.fasb.org/extlink&oid=79982066&loc=d3e1486-128463",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r96": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(c)",
   "Topic": "805",
   "URI": "https://asc.fasb.org/extlink&oid=128092470&loc=d3e4845-128472",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r97": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7",
   "Publisher": "FASB",
   "Section": "30",
   "SubTopic": "30",
   "Topic": "805",
   "URI": "https://asc.fasb.org/extlink&oid=126966197&loc=d3e6578-128477",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r98": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "30",
   "SubTopic": "30",
   "Topic": "805",
   "URI": "https://asc.fasb.org/extlink&oid=126966197&loc=d3e6613-128477",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r99": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "(b)",
   "Topic": "805",
   "URI": "https://asc.fasb.org/extlink&oid=126975305&loc=d3e6927-128479",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  }
 },
 "version": "2.2"
}
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>ZIP
<SEQUENCE>72
<FILENAME>0001558370-23-008090-xbrl.zip
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
begin 644 0001558370-23-008090-xbrl.zip
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
M>#-\6KRJ^;ZS[,&U_L$MX#__&U!+ P04    " "U@*1622J.,LL1  !R]@
M%    &)L9"TR,#(S,#,S,5]C86PN>&UL[5U;<^(X%G[?JOT/7O9E]H&$2]*7
M5/=,$4)ZJ$I""ICIF:<N8XN@&F.QLDW"_/H]DFUB@V7+!FP!6S75$T ZTG>^
M(^GHZ/;EE[>YI2T1=3"QO]::%XV:AFR#F-A^^5KSG+KN&!C7?OGYG__X\J]Z
M_8_;X8-F$L.;(]O5#(IT%YG:*W9GVI@L%KJM/2)*L65IMQ2;+TC3FHV+UL7U
MQ6>M7@]DW.H.Y"&VQH6U+IKK7[J!/&+?:->75Y>M1JNM7=\T6S>-3]KSXSK=
M(U1OBK,26MC^ZX;],X$"-8!I.S=O#OY:F[GNXN;R\O7U]>*U?4'H"^1O-"__
M>'P8&3,TU^O8=ES=-E!-@_0W#O_R@1BZRW44R?XVH58HH'VY+DN8@GVJA\GJ
M[*MZLU5O-R_>'+/F5U%"?BT$P[Y(@M/\_/GS)?\U3+J5,D,R_(I3TJ\5!'K6
MM"^46&B(IAHO\L9=+=#7FH/G"XL)Y-_-*)I^K4TLL\ZH:K1]R/\>N< W,Z4N
ML4UD@UW 'PZQL,GLX%:W6"&C&4*N4]-8*;\-^[%JN60Q\;!E7AAD?LD27.82
M>7G0^J]_=0;3P0)1;C][ B*271ZB+IDO*)I!&KQ$?>@RYFC_T!(+*1&C[LSN
M+?)Z -(BHG?%<X<=PR*.1]$W0LQ7Z'T[MCEP9XCV;6BF+WAB(2?\Z0ZY.K:D
M 16370JBC<\=QX$V?0AXZ07M#^L#L5_&B,[OT,0=(H/8!K8P;]B%44F(++'^
M7=TR6@< $<@]#!+F$YB>A093]NE1=SV*W=5>&,D0?2AFEL1:@GMWKS,][@F*
M6.K^4#PAUQ\"GA$=S72*&.^>M5L+D1*Z/PR\".X!LZ$-1@A>4,=P\7(7*B3%
M[@_'K>=@&SD.%#?!MN]]C+SY7*?%0<C(W!\"G_6Q_H:@+Y_"K 69_$/!3BI#
MW/[JW3$,ZB'S >L3UM P*C[FI8C:7WWYZ F4SK'+71\88,$G<J&K@'GF+K67
M%AQ@,=X;]@/4/*@_$[K/*4544^C-19##7'^+75883#8;#:VNK>7"W]W!TUWO
M:=2[8W^-!@_]N\X8/MQV'CI/W9XV^K77&X_\Z19 L8@1*\ABDU-"XYPP3 Z
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
MSHK^</QE\N/1#T<?CS]^FOSXY>3CE^._3K[=K.%N*'KS4 <8A?'O7]C_'NF
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
M5%G*U6JYBO6##UKN+4*V+/96(>G:WO,G ;YY)%WQE<SS&9K)Z:KZBW(-,.U
M82F;=.&:2YI58AO0B&JK*T,+>6 =6@[6"7,RZFN'"'W'U\W$:1@4;W+>(Y^]
MBQVBY.+-C[( !9=4?.Q2ORSE!F(VO_!(3+>02?FDY^E*W('J<IK^1I3J<\]C
MPA&<=JNH:]:0A;9OU!Q$-W SJH:_5J=/+E0-D@GUCJ\AT3MZ1NX=!*?.R)4S
M=.!Z<-OTSAH %TWNF WBCC60=O[T]?H"((.SBHH64CW0M %$N%+KE6V:$F]Q
M3IB)!#= :? 9HR2A.H&TJ-LO&]'>'"V[.)I^QEDJNQG'9M?" @^;G4/BI;3\
MQ5[GO?'34HE-#WJ#^R!RT#(>>TPI"W_L,L/QD9KL,>%U$NG%2W%?F.I0C1A:
M?M9$#@^$6/71&AE\$X)M'J_1LA\;HC+\$1L9ZK5#-BJ4P13O7(?>(S\,H;UZ
M0-7&I%1'W,HI^25*U-4NRC."67S'W&]"W7AJ\<+DEQA3,9(75E%_%5-7G_Z,
M8W9^A-O);;+,JGKZ&E<OACY'MED]I%0Q4=%0GX2Y+#02,4)87]0G UP?E*7;
MCSOTG!'_B6Y"OA&\(-Y2>5I6UD!QCE35! [5FL.S\B8-*;=ZC-9 &ML/-2D0
M<G"@5D[ SNM+"L1=IW!9%9&?9LP<L!"=,ELK@%6D*"70(,C4)&*%T.:D6DW)
MJIF.C=!PD((5HEW/MDK1=7PL,4R><>)%7PG.GOF:%\Y#;718TTI^_$[?#A@3
MU$<1=>W:,,+F(41C,>&&J U__%!'2NWLH0D)@-:B,YRP6][I=W1KJJXC5;8R
M,]KB=N[>RZDAIRXEE\'+Z\)5+>RN5TIQ[#R8(T')[=HE(F'WG1P)ZJXOD(BR
MW!I$$7YE]U\F&TH231C4K+%4R<R;P^.,YE(*?=.67+%Z<45#Z>'F2#JXX,*,
MJ/JU%V;$;,_4GXZV6']-_\Q_J7]78%TC^O7U]4.*GQ^S, H^^'AYQ"E>9V[/
M<!Q0VEEJI;Q]'P7K7Y/9_.R)I4^2JSA_$OZ@)G/TEB+:/MCBU_'QC\?'D\/)
MNA_Z^6QV>WYQ>W]QSC[=SZZOSJ</](_[!_K/S<7MP_UD=CDY^]OT]NO%_>3J
M=G+Q/[]</?R#=KR,XJ1&S5J,'X^//W'6/%)?]F"MIL,^_O7 0E6R:,<6T)$C
M''/1L>09CI'A V7B-FL*C.R \01\HBV)GSVBP_54K$X#8<Q&*(!:E$9-RI;)
M&%@V6S@IS;P$MB=95(QA,9"A(%1:5I6+A!RW\J#H+'%\GV+_=^6[D *XON3
M^7*X+$91"T&I3K5[T';Q=\OX!\)3 2N.4HZ=^F%..?R@@OC841 *.MP*9!H$
M83[T-R\,KN(S[SE,O4@I%$V;007SJ:-@-+2X%<X=2BG:*"C+N)52D0$/*HX?
M.HI#1H3C2>+[V3+C)W1FZ1,BC!""GMC"^8+RXDCUA#%O/ZBT?NPZ><SI<BO
M3>DJ52[^V)AN0UP![$DD7A09;[9VT!;N?(N]\;9W3!$(TB\^CE/JP%U$'/3G
M@R1_5';S>X2I7_CS04JRX7T7JBML@43G*/_W*M^S/.&(LB?)]?$.1]$E)JS2
M3R*\QKU V$*8R;@Q:<\DQ(1^R77+]>3;QE0Z^78!(6RW6VIG?8[ND@9(1+<H
MS<WU-4YDIG$+!L+<L2"8+:H R60:_)8E:7X!"Y9L4WF%Q^-VK?0=HI0G88J*
M%]KR2SY9;=4B%Q2OSY)N[OL>%H)_8$%S^F<4(&7DW+E*D@P%YWG5!,>9(\HS
M4*'/(\D4BM?B?R5R0]*R+PA^C*V5H#GU]G1!>$2H%I_@N$Q]2@UABIND-RA]
MPH&XG&Q+R%T[@^#_=)!R5_(!3?F*?2MNIWC #][;W\/TB7&":BZE7WQ81[^T
M-.]Q4,7X\Q"K1G,> -(.E1GCO\TX9LG%&R)^F""9S]:BGT$UX2].%@()Y8#D
M+XOWL&TTW5//YE2I)2(W:SJHE/_:FY3-B-4+]J<CFP4!YV'"XCT906)3PR-)
MFT"$*OO_Z>3X^-/D<++IDI4"L%X/>;>3:K^3/^4]_P?<3+__A((L0K.Y]AQJ
M(CN(JBP2L-?_T/L!/K2Z=&L+!E#]@&VQUM;T.M6.%^;6]&W(B .C"VGZ&0I(
MH8-0W7>.!5FGWG7"L>: :O*-0E@( =L^Y\#.L9==%MAWSW^E [&*8+I'H)M$
M3W*QB1#*@0V693KZL,%2NGL.F&R-*;T>10+GV,AI=$K"V!+Y85C+93]C+U3-
M,5FR^EFA.3)JX=(H:;5EB]MR*@"Y?ZTO:=$FX"UT[#!A;XTMM9V&/<,Y?&V
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
M.RWA%?;J1=.(P,&E@EY0W%8NU;;PG@&P(IDJB9#,W_6[/E4H=-/'\X3C>4)
M[V"-SYJ-SYJ-SYJ-SYJ-SYJ-SYI!<$0ZRW!\UFQ\ULRY;,=GS<9GS082W_BL
MV3L[ #P^:S8^:]:0QO%9L_%9L_%9L_%9,[.VPXIG?-9,)*OQ6;/Q63/(=WR-
MSYH)"1Z?-8-UMZ+ARCT^:V9I"[0?SYI5;Y.2V>$:R+#2ZAZQJ6,/B/-;%0^
M'Y3K\&B8BH;Q0;GW\*"<S2C.]_2@7'XQ8<,[^OZLO:./=[L'%_&)=KS[\6Y<
M767W]E(^K0#&J_G<G7H;K^8#=37?>!O?>!L?_-OX&EGT\4Z^?NWYOM_)MYZM
MFCOY=N @6/PF=_+M$#!>(M?Z$CDC"S1>)6?=Z,"\2FY\IFY\IJZ)+,9GZKZ7
M]W,L'",;W\\9W\^QF!R@1MNC[BM*#>I1C!I"F$]M!&5*GQ/Y%%I4EC:QKYO+
M2MT)A).8]N2FIA5L,O0]E:A+:OK>]QM5EUY(?O6B#-WPTFN^HVKX(-6?CT^V
MDUVLUPGO=E+M=P^R76M^3),$I>RMKNO0>V1[TI %'C@MP2R^8R\$$/8T:QS<
MXIB4?_)R=E5VS&+_8S:M33;-NH#'[-N8?1NS;^/#6-]1*FYM0T]7E>7]DJ _
M,A3[*\7:8-023J*NU\7"B!= !"U"4+F0&+4$LJ8T4&>A_%0DPI-?4M509<[0
MN#6$U:N!JNJ$**01B"!/5^N/?PL1H:QZ6K& 3V1F=)6-X:0GA[*[2G8 D7A5
M,7?Q;6R$%7W ,\<&NJZ=S')Z@0CX*G[.TH03=F)FCT4MH-I@K<X*!2BB$(BX
M.IBDG419#\&A:PC9WUZ8)524[@O$'N:8MZ;)_V1>G(:IQRZ2NHKGF"P]+FMU
MMKEI)Q <Y^'TRI I8V(&P&K3:!:XOU'(^NGM@@U&8JU @YK0EF18(0^LP,X\
M0E;,.)D?N=]N B'W;5MTVS2ZRXG>YVM]A8IF"=&_["9$BRXGE3[W(!EZ[S^A
M((O0;%[@?X>>,4FID"ITG*Z*'U5ISU8]#5!5?(;C!$=AP,?GNP))1;<,$$YB
MLX.PRJ)C&9'#5WOO8B(M]I:# JCU5NN7G.\P0A0SJH0>TZ!":=1'3*30KBO"
M=<I479.D1/10=<]N>8XY4LR3H4X+CEGU,YVP#$=Y^;U9.Y?;.U.N-R 'T':.
M.PI%0*""O7)R:-JXG"*-=;$Z7S1TN174&29T":2>W"V.B_FL%)("WN6.NZD-
M4Y#A^+!B>?+I-$O"&"5):605R2M-&SBU AWW7X;TNCYMRG%1)IVV8( DE8Q4
MKW[>M$:&_>6?>;Y>%'&U4!DG#2R$2)Q0+<KU78%[#Z<1PB0EX6-FPE0%+(30
MF)*I"MQ!6 B1[=-EO\R:NDMJ-2&M9DG:+ Q[F)6Z8^\Q9NB2,HWN5GC4[^]A
M^G26)2E>(G+QYD<9N]>+Y6[H?\&#]R;1A%8] 9JSC56D%<& /**UUWP5^Q3A
M:YS()KD0$D(XNZWHA 1!%,W%VS/=,2&M8#9P$$Y?=1;+AAQ 0J&.&:[K38&F
M1#@*> @/UK45DH(L0,+:3.S2/H=Q1C$N5(PZYJ>(THMR.&J:47+Q1FTXY5D8
M>V3%R:>DLL6;\I8'58I4LS18U..($%[':ZLPO3(&D,KEY2T2[2A_A/ *7EM!
MEC2X2_+>HC37DF^(W#]Y!)UYD9]%+=*]GW?3O;3S2=[[A'8_X?W3KRM#[$/V
MMPR9*!.[6T 6?/A?Z6QD#]-2O4 D] 2Q02D4H&RLD'FE^RY$ON?3<UMC"F-X
M"CC'<3R-8D@86R(_#&N+QU_N$7D)?22-.RFA72>"E%JRQ64Q!8/R^L8COZ/-
M;>3RI*E9,Y<QA);<EY$RJ!CH(L?7_=A8[04M7$8!6C)?0 6@7>1Z#=)&7@6
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
MW@>UU*Z[96L7U)ZJ)_E(YZTQ61'.AD0QR5D1X#6;5]\[SU<>@VU_YXM3[0X
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
MGU&H^]*^8NKLA'2FTD]I]16-XQZ(EU2:@AN[I%%RL+RU,;'>=X]LK!2+C&K
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
M^TVD#WE+V*]\EV=Q>'Z0V3I?+5[Q*<I@=!RKMC1'#HY=BLHXJ6J+&#([13:
MGM.61]6(QDF5S /S(!Z-X7=6@8>=<]%C3=\#6&A:I6B[L("LJ=@6C;SA@D*Q
M+N]0%RV?@BNC<$4X93O3EFF4G$ZA >AB4"78VE4!# I\.1=3$$W+5*T7AC%'
M:K:A3-YT03AS++%)I#EOGJ+:P1I3BDZIU "\,:P6>LRYI1#!?N#SC>*>"P]E
MYX4A4KL1V@"JN>>"\*I# >,3);[6SH-CE;^>>>XG;A E&52\F#C]<P B3&2A
MOU/_X1$0PF$R.0^TH2J/G55/(=A:R/4QVV]IO-F=%"5J6PWUI8$<+P:91(:-
M7@00H\<P/4:'2,Z."'YP0_FTD+75A=B\=K&Z0+/D @5*AJ4+R%.I&FP6V[J8
MT#,?\72K%/:GLDP$[3*+!H:J2"P/13LUF0E'K2XSY[;-I,IV'=19<X1^:&KS
M:*RL7;;9B0.0=>@U/&#?L7#M3P4YG@XT2_TI^%XD$./I4$TFK7YWMOEP<WOQ
M5];NZF\7Y.HC^_>%O<M(#>: P_2/E-GLWGF^X4^XL]]#&4IZ3L5_.X+*"&'D
M<6;.>"<7GT9111R-!I4;E])?DZ&>?+0B<-C,ACU(]K-]XQB-P=R:P<2NM9T]
M*)5)+J.836%"\0RS^W(?.V'"](=]N=#C_PKX+MU/CA^"^=:QG[ YS'D6L_\7
M-BPLVO-CF.6\4-2;P/PZL&B0[0)Q<PKM)P367%Q2R$LD@?GFOR0R 9G+?% A
M-Q&"$R&Y#-36:KPLX,,45G<+JZ>2E1WOGUF2[ANR:^=ZI>/8=!T@W-X#.7AJ
MJ'OT1(>J.6*PTI%Z>!52K7G;:M8,\JZMG/D,TIR+/?=FS)F3/%X&T:=$?^>E
MJ0OR6-916+&G<M(><31KB3WM;LGZ[J_D\GKS=SMO!;!0!<5OXNC)]ZCW_N7G
MA++55EF);<V&]2<_]6G2=+NRJPJ:*>+(@\6L$8^N3!F@C#@ #2LX)@,?Y""%
M(&3[0MZ +&S4^9*4XI!*GI7BUK3M314D%N76Y'C:PZ9V]EQ$3>R6BYBU!LBQ
MZ%29^HOQQ5\18T*#D,8N7Z[@G^)A#W(3Q7R5>#R;GK7$0?>#\4:-87$.O2X7
MX\E]5.06TMH5Q_M($[HZ)AX3L4(>^E,:6 :1*?@@AJ-)U1T:RY)0 %FE6.3T
MNCG[<\^IC?4YS!),'I<FEVXZL-_#OURP]T&R=U4XS;$\V3FG!R:Y2.EF/P<T
MW[9=[V$T_!?_O>*K:'9%CI)]#""CGDX_Q"C62_S!.642DQ4IV8A7,R1&=E!E
M=A.(1S):])YG[S*_34IY:A -D[885S9&'M7M2M9V*AM;(H[<#H&'.BHG^Q9^
M]HA,V-([-M,KZ;8H.<\3;_EQZ":\<P*ZV;')"YL6I"\W3+GTXK?,/\#D0F$@
M[<[( [6?$6IOQFGU1!S(/148ZO-R:@$;@\[]Y! E/A^/HATIF!+.E91L;=5Y
MF\DHP *L 0\\@AD.A1E@B*8J(\RS+R)-$#:[2S]TV+(B?( G*54;DAU=D$.
MCL*U_8:6]HC#74OLP8M1B3CX<TF></J6ENUS:NS1+5MV)TG&F% VN#=H/=?I
MP9.?,*$NH_@\RK;I+@O6KAMEH3)\.[H@#U\=A8_.')3M$8>OEMA#G;DD3G91
M3 KRI*!O[:AA+HVWCB<"V&8-UJOPB8WY4?SR]]A/Z7GT2;4H;FR(/$K5RM5K
M(!^W0AR1+<(.KP:<DR2<YEN/$;43?!,HQ^>\O+Z[7ZH9;1,F3N)2YD"VZI#7
M;G)<A>=T1^,8=N_+(NU*&^GU11^:/4QP5+&\NR/J .XC_X@*WYPZ>5/P^9(%
M "E8U=XSL%C=? 9+E"K+KP]8?>CE2.GRN.[,.?BI$W0<Z_<BL#@0Z#)&.Q*H
M>B\*#CJ5,(P)U>%WSM#ZR?>,-CE[9/T@JYZX-$YAT]!)$IHF?$LL\)VM'U@\
MISXU1+$4N:4N]9\@64O;AHU=%P<0:@.T0\-IOT6!0HOXAN&@X$0J5G@F"!.8
MH2*%:E90+(7\'@N!>I_%A7:#RNTQ+7585# WR6TXBB46>*+7K-XE+4QA>Q/3
M@^-[Q:*C>#P^]/@UXC6?6VC;2Y/8X@*]CY':$4"'TJ*@H9="AC$CYUT^?P93
M8''E7_#% R2S6*DP1[X[+Y8$D2B5PN_9I_E: 0GT%'.C&^=ET+J@ZK<X0%&H
MKK<BR#LM"B94LD^U%LCY8-D.,*U^J>>A64][$1UG#!NK;8@^%CKMNL2X5AB@
M,[2/^BTMNE7BFP]PX$0D5HABW+01"FT#M;;SU3=KNHN<5U\H"S(HC-6G/_*8
M[VV*DXIA.IT11W]_'<95[U+<XB\NJI.2G\5JB/.9P][6@7Z% H6E>A% C@+]
MC3&L/@AB'!B@A/TZ']8>.)[35%KW6#%A"&R-)E/5+>I/?)G8,]"(&KC4D_+R
M,&NH@A/A62G.<NL6S6W1SKI%33:U5+?(><E+)*S=WS(_IK6[4^O0Z[I3V(L
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
M$@EJ*]@(#C)X'V!%M@RTPPA>K-S[8BGX(WGC?,F1A<,\U*E=D3=;Z5=/$8S
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
M$^IYESIQ:E73+7WPPS#?K6W6=U84N>$B7(5N3)G(YU3\M\,ZRDX+P9EVI9N
MI[G' I"H0_#QT"08D((#>5/P^-+N!& BQ=>>Y]L[0BF4NXQBZC^$(K?/?;F/
MG3 1559_<OQ08UZN16 AT:QOC*;([NZ]@"COH<3XB,^9D8(;D=@1X$?> $?+
M\3^#22Z?:ZJOO7]F23KTV7;#ZW,*M9RS/=1>IMZ )7M[_X4@@[8IU O[ELX+
MP 5]'4PM_ZFW(A*W:3<%?A"6"'F]3*T5S/0&:5'>TE'K59@R5?QM0,75VX\T
MO7AV@\QCJY#"+AVY\CU)((>'(0:1$:)/?\0@,4B-P6.E'_HI?7OM/T%<E)SS
MV^#\CJSUO/=9#<(+ZA*_LH1C[UZ\^#C\VQS;H&V74:,;<B3055R._JX^B"->
M6_2IHGRZ?<S.X)Y<=['9=TYWP@8!MP'Z^):F*^L]G#'^JRT;?1"AY6) AW$T
M44%!99DXT:7,5,@A3ZMEQK86%!9,I&L"-(N*$=,L_+#1QP!]%P^(H:&7^(-/
MVYO7!V]*3N69VD2;C%'J!&-7"A.M$"S6E)4P9[,[-H'"4IV=D(>YGM*U*K.M
M/1"'MJ;@(RYVEN3A\/LDR.VL"^;4FCX?:)C8*9UQ3K?I%;]F ON1;9<MFELB
MC],6]6KOV)PV0QR1;=*:N%QQ'84/;UF$[ EP(A6KQ.IU"Q +I *A[AF?EG=<
M%$V1.VN;@K*W-K5#[*ZMX@[UU[J/K@@0MOEJR[&2K2^V*!LOS$'5+[4TMUR0
MDQIZH:7934V_SW)'0S^*/T8I3<XSRO[\@_*-EI:F2)U/1\'BK195.^3OM72*
M/?Q>K\;+QW#!Z[NO_O3M]_^5"$$(EX1X&24@R[R/KTQFBP85)PO [[[5#D"I
MZ8("\%A!50 6[186@"=B3QZ ?_SJG2( O_O6;@ :LT6#BG9J#% WBZD' W+K
MZT=-[9"&:*=JM8H"QXT03\O4L@[UPGN8C%U'3D@N'9>70C4V"ES\EOD'@!GN
MV\H10-$,J6MU*58@?U,;Y*C?*O+P0XH*YF,*.< "Y&G!C(0<W.DS<VTXL\M"
MC\;$(1^<A"T4A&O"4SK<]:%F^/HAII3WY(6&WSNA"[LTZSV-?=<AU]1)@,=_
M<_:'_P[_(V?.P4^=8$6NK\_F'3LFL6A)U.*84=]RN^YZ#%S9&FF0:ZJIWC*]
M7D )D"Z)AY? KFV2(J@',I6F?#?COMC-0!"(5R&S!4W26R>E=RFD0-Q09DP&
M^<IR<;T(+"I<=8RACN"VWHL):BTE#,7YBA3<"+!;$<&05!PQ!/^D%BD-$#/"
MY(V3L&G,09 _R<"P@ YG>=4B43M8RUPG71:% ,T*JV.^WGXQ4:X0V]0>O<5L
MY$GUS$MH1UF:I&R!P0C;R9*:5,E[X#Z)7D\TWD86/U_EIIZ]R9=X[.72#Z%T
M\%F4\!PWI354K=&#:JN:=3QM;(H:2MLE'CX[RA\"R@D33IEG:-I*QIY*U9]#
M1Z1O,6TA%HF?)!G7V046UO(/[O/SZY8C;JD)\B!L4N@XPZ#X.^)P:Q33S$QE
MFJV]SN';J$9\N.9!Q!.885\SZQ==<XWM1M7NGHK-#AKO7SXX*=]P[KCTW=EI
M0<"B5EH%-:<]%@(^+8*;6CA=^HG+HOD?U(E)P<SZ[>V);2#GS?(-HE+Q[0NW
M1/*C]=#.1?)I<DL/S@O/Y-WL;F(_=/V#$XA72SRH5"N^((BM8<V!9!<$#V,,
MIP*0(307 C&C5#,%0I40\'Y'(0:$9RE(\>:0)ZHH2[!E'Z*LV! R&;"CU%7X
MD3ZG]Y]H\$0_1&'ZV);[/X;FZ\$GM<D&@M,IP=>!3"UZS0A+\-@"R$&$($1(
M@AZ2)C >PXD_XL<C@-[[3Y$)"U:D7A/Z'!EH,.CD=%X+UARK,S/$\.49X[\
M8#%E*1;GWR\$3QAC5>;*8&*O#E-D(XU#%:#TJG"EII 59 $)EH(M1JS%HOY/
MQG+(>^BPWC&+@!J7S)1')AE)"BEBF#!0D:\^E [RG/;1:HT]TMB1H):H0!AG
M\9IJPMI"HOHN"^&AT=\R/Z8BD0[2W2->UB812>\^/#V7)!D\8OSHI,2)*>OA
M4;H'4K"U^A@%/&T^)3O_F36+8L8-F/HA;W*(?9=RPAY/SMMS6\ +=J UV3&5
MTT?6EV_]O !P[:(@B#Y!$Y<7!T_EOWY%1"$?_B0>(^#O.6TG##/60CS8D9!/
MCS0L_U[\4L@.#W4Q,<&/2_H)Y.,5CP?M^"&U#]2BA+\EP"4G;]AG#[C@AT,<
M.>[CE_.F]%MSJ"&#D/BX?!P"&>8=AJQ:ZYY%#^7J(TB\;*G,T=@0Z7#3K9PZ
MM1)Y38X688U=@[!7C*.NW4=GWUZ.HZ7YHCSS5%&U?U9M%^.E#2(;2^4'VN;K
M<JP9<8]Z9VSJXJ?E-;YSZO*+<>"VRDNB/;HB]=$A!B@FY[K]D$_&>ZMAXM)I
MO;8 %R&_//D5^:XH-Q#%_@.;< ;$Y;(1IQ!N12B_U,%K5$>DD)5PC)UUXCF;
M\02'ZIJMG:($CVR!4,P<.ZJ;J=HB!0(M%6L%"IH:(AZFVN4=G%D$5#&5.#M1
MLW52I6Z]-#=53ZD439?DJH8F5 IG'3&A&NVNM_0I"I[8,"CPO:CVT5KRI:L/
M<M?54EEVX-8.B-U83^[A19MRZJ-*Q(QVX+IN+?.!QH;(756MG.R?IZT0.V6+
ML".GI@5-FZ-_7;O6H5_1=%$>J1[TF]HMQBL-#?<G?FEZY^0]8P,E"]Y'<<P/
M9=3EM%J:(O4X'06+G1!5.^0['YUB&RZH&-,')^9/@ !G7I"#;$O>\VY<3*9[
MI5I%VEP)TV@7:T9<2U/$$=>E8%G"5-$.><1UBFT\XJK:=G>;RUM1 \96S$VF
M/5?M*.;(+X+XS#?:9M?3RCSS;T[L0P8'R-*RYFEHAA1[NA23YY;';1#/*Y6B
M#O7 @J#P0HLK'5FSUG5.8\,%>:%ZC7/::B&>:&A]<^2+IE<WE]2CL1-<9J&7
M  ?E3$O9$*F7=2M7S+*:6R&?8W4(/2)WB^P$:9X<F?"YU+P3J(E4R\D23I='
MD\V2[YLG&H?^PV,J*@*Q.0XOB\CF5.5?KD*//M]]<@[*N#1%$VD(&S590]GY
M8001#S]F]!H\;Q?<2<F$E/S%X/4&9O9?2G_G4A 0(Q_=K"QFD%B/V<8<("5Q
M*H$1^U<%1.P?_WG+9&Q:TAS_#2DP-*H  5[[ \) ;99O\'8(4#*^/-%QG<;1
MZ/2OV-WG=(0X^A-F%S*UIR:<R'AZ1(<;??!#?Y_ME8YT_'?$KM2H2N%,M3\B
M=:=F&8<Z5$YM/D]RGML]Z>COF#VI2972D^0_8O6D1AD'>Y*@9N>ZO!_2S>XH
MIT?(4^Y*GSD']I?T13&?[$D"J5^.,4CM0GR/_@B]>Y0:@^\=PNLMT8X<Y3C
M!43.L3H@(05/2X58Y[1*=TZ<$:5U"K'.J?;ZR?$9?[/OQ#5IL/8\?NG7"4Z4
M.*>!\T*]\]CYU+!Q-XH84O@S8Z3RIO]@2LBWHPTH-F;+VBE95<?^Q,V9$4=$
M3D!)^AA'V<,C\01_XC$!R(["[>B9-[DM&DPQJI"*?<.X0G()"(A@X3*[/7-)
M9JFY#;]A$$1.: N,UX5;WV7;?U(WO8_.Q'V[LR@4G8ZW]R9C\GK NX=1!X*Z
M!H?7!?9]%#:0&9;JCP<KD@B1('/,%4(1MY0*]8@PAU6'C12E9.2NLFXN'*FD
MFWO2CM3&DBW+$04*^GP=Q23F*QT:-TUEQ%N]?NB*RD5P7F_Z$>DF:S%+!/[>
M3TO37$;Q-4UA\"Z::MI=C]+"1I8>YFD;/C3(+'",Z*.5H8$@R5E*@;-C@05_
M*M]R@3IA0@KX,:]"(,(+VN6_**++_J PAQE5R%_PED >['E=V4_TP +N<]BJ
MM E80L>K3C>P_I_9,?L.QCE&C,(C[[KK!"U"KP"QFXW3%[#K5%X)7BN4FA:N
MDX(IGQTE2P-GPS;KB<TE=\+98T9FPX:J 7.S#QF"XM''C>J7LB]V.[;R\)_H
MB.?DFVD@!>I1)M%[5+Z! .(CQV%Z&*M'=_2T?,D3\>OR4]BE]L \ HPH'G<[
M9^)H&>BHPZ*BOTE9=:C+K1<3UXU"&POB\BG \P;OM1&N1M4M7C[T\MK:3$\/
M1Y2^=Q(_N6-S7,?;A/+ML'=:5FKMOJ@([C:$.I[5?1<3W1HJ&(MUSHL(9B0*
M2>T&(8;8G] 80O>$TS:VIU*7_I9Z='^ 9?0-%/:O*7//_I-D\<OMZ: \BA#2
M4!]OG&)/91@5Y'LJ(Y4:&@/5I)<<(A^V5AS/@^<K1+U=YN=L(@M;E+Q,!IQ\
M1OM#!C\^BJ<MA)3YNQ71CO]>/']>*C/O1HLE0YX@:\69<-:G6%OPMX"U%@TE
MHRY8(2VL,'2MI 7#N1OS.WCYM.^&/W2B89BVO@L"VTX3J/!5V7%AD-JMQYBT
MPG(UD8-@'3KM8N!TFA^_GE'R$I=TRZ6D8&<?Y*:SQ(?6[X]@>7F$\#VWB-MZ
M(P7!@690KRV571>SM.S68,+Y#ZX]X.E,<7L\+7;8K!K>MRAFV@PA#L5S6A/-
M>.0=[DJURR"*FNKU].F+--@'F:!YQM/2<5$S'AT]QLQXCI9YLH?SU>(..-F<
M^$QI@..)3^WD2X*Z%>'\;,]\IC1%[;1+?'7R1L:\+TV"G"\_ '<X!+X+.X(?
MG/C!#Z'2+*Q7^15$^D1CIN,M!$NS?8:2P@V!HPPD(>(@.O@!<IQ:INX<E(S9
MNA$X$V@F]D,>89\-<K2#7 *(*S^"8!)_I/$^*589Q^]@S0ZW=LS)&<OP6[$F
M@C<OJ"VVV;@Q"_Z$"V %CNV8:MWB:@UNAJ: PL]AQL0L;E><1?N]GX+E+FGW
MTG4,/:3@;LQ47746M(@A7O".U\EX!0;!OKSTM"*5!(2)8'UA;,]DDB%VS!#C
M9XV&]\R8-:AX(5YK3Z'6'#F0="FJW@:KVB*&@4Z1C6UT 6TBB&/8US*HJO1
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
M/(Q'F*>6']^?#.+P'Z/-\"?X!$_(9\L)DY(MD?BNR/:E;&$S^X'G4R5"D(O
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
M#O'B.LEE%.>_@G:J<XO9A?A<0;_UH\R"_HT2?([#0+LAQITC'*6,5MOE)Z,
M# ))V@C^0D"^%RV)^,JVC:;Y"JWG*@UC@9#B=>'_W%_R,T;U60'\<\1J1--T
M!5Q/ \M@&RNP/-K@G O)Y%FX^H!$G(]WG(_@3N:_^"WSTY>K,$EC?IOI9.MJ
MUF)KHZ5!CN26/Y.1Y/]QHB >!6Q;Q&(*D-" 2"HT[-J_OI)OEC_<+1LV8M^M
MLG6<?. V5Q;.\$WM(_/P:VWU"B 3W]4>* #28<'>QQA_7WL(]U=[8WN4,0S=
MV>:3[J-GZ"@'N!SS"W2)<F2G8;7MS!^R8VV\+.99/X\PPSU$,<\!$E7EEW(O
MV\JW,' SFW^5>VF\%;>&$S8J%UMJ8G&R^.O95KZ0L-K14XWVAU3V<Y2EM]",
MZ>\".CT8'3)5#%[CD-AJS-%#7B/UUSJDM2L[>'>%C2L'3IEP"6 [A:G-1Z>$
M.##2Y*Q@]()1Z*$I;.7=%]9E%\5[> ZE-LXM9+B:QLX&EH1",,(E(Y5H"QIG
MIC'MC>R^;V2O1?".N*3RK0B1_*3H.%EJ.BZO?%Q1F-7DX'+$XC,8850:CQEF
M&G?M!=*Q7Z3' ]&K'%%,V]7TL)++5QQGSWRU!*N5"ZM0A56P[/N=9?L,;@D]
M4;%RV^S6[J-/GSBIZ1>,7>Q?XT TXD-,M./7RONU#EUC3#%J3"LY%"\]LE62
M4S&11[&X^7"!?/+31WF(@TO$XK1A*0.<#>MKC7SO6T8^]?[>BE2B%QM][+-*
MTB]H6+3Q;<XZHF*1X^<TFX%C!?E]3%5\'!NCZ^O?A#1C%$,C;LJ0@;Y]H4Y<
M&W*E+4MI]!4':+^/P%-\%ZMC\3*W0NU^,,FFS9&#=80^23G-U_A5ONGFB<8W
M52@+.T[_Y88+]OF,X",_WD0C^D"I/J\1?JR1QHSX(HU&D?-=YH1'3R*%IC:.
M'_('OD*:PJC!?K^C?@JI>ZO/?6Y@ZXM..E<0Z3B-%[,JO0@H1B3-%)>V%C=[
ML!:D4P3HLBYME%E1ZR3)]GFJ<NA]H.ECY$5!]/ RU06-7IR1SC4LF-_(Q0M]
MMJ_QDL4 [2T><TJOO$CR\M*JDL3+O3DQX]>0[9<E8@K%9D_^'G+" .&KO+"D
MR!K+9U-Y5O./]M>73?8J[W9_H Y<\,A7W887D+TY(T5M"^8?O03LQ_:UKO$&
M6F',(JXJD;ROZ$NG0XF$W+699'%'P@_)'V["?X0?PO/[\*_L/W=_('P:F:YX
M80OZ[.P/4 G[#S?O_O']AW??G?\!+DS(]S'$_0G&8,=0$)A&(26P?<PHP%;8
M/@K31[CLQ<:$]-%G36E(/.=E*0N]F3_K9(/RBE1%-B2QE[=,F_F#?#B-K#?@
MWLF@/%A<BZE;/_GU,J;P1@F%K9I;-M>88PJEX(MT2)[=]),MHYJ8?BZ+J%;=
M,:(UDY> P*20F(#(KV !-<F7X.;:@;G\PEPQK)S&7UW !=G%0QWG_I/OT=";
M"[(5?#\GR&XS_620W<3T<X'L5MT10G;YFE A\&M![$D^1&FD%Y\&'KH[9HUV
MR/?CJC]N=J)JUT]B"V[J=8Z. $@AV=['F&1_JY/[Y[3-I6\,0T5 BHUQ[Z@0
MR.FF^()WF::W*I=E5#D/Q0%0*;K<8+,KGLK(Y9^[8OH"O]"%PM'W3OPK3?/I
M";R:09Q4+B+PQ@^)%P6!$R<PIHJ=8(.C:NS_-0H\/WQ(/M#]EL9-EFYH@WEL
M4JE4#A_'#; CO%)> R#LA^*8 ,""^5>:;RRG$;F[O2(%WQ6YOCZ;&8&-:RTK
M9"R WOM!  2OPH3G#$=A7B/V*G2_4H:47B_$0=9#[2+L-+H@#\0^&@QUTBME
M/!;<2<6>Y/SAL75WWO"<PQ8%#SN;?33V:;+9784>K&\S)PA>KO8PA,>^$[S/
M$C^D2;)V?\O\1"2\-D:[ 7)(8<"4H6H[;@-I8=Y(&ZO2X#RD(!"E$^W$3Z$9
MFYUO_5!,SBLE\YH14!)=]2Y:+P+(8Z2_,>2HT.^-. X&*#%XW,A9$8G7BDC<
M2%&RA/.SLZ\[HSUDS8M['6Z3YK: X8RAGN_1F/_CGBU^DQV-8^JIGM'J26)Y
MX-!ID YX4/9?%D!TJV$6(FK\B,00#41,9Y$;)OXC^XD<8C:+M_/,RJP*%_=R
MY$^>JC^Y+6P\IXD;^WR;LN.2C';GY>%ABQ$ZD+"AY[(PL$T!L^@G<9KZHH?&
M:Z@SF>(N8VNQ^ 6VXK<Y1YH0!V9,\<";&*-1(#^M2.ZCM9#C?2G93W&4J!9,
M&MV01[ZNXG+,=_5!'.W:HH^H_;L71ZT1R5F0BL>*<"YVYC:3ZW[F)(^VL&L6
MY<B-X]N9I?P41=XG/PARY;QS_@A'XU4PS2[(<4E'81F3VMHCQB,ML0>_9Y$3
M7Q5(Y!%!?\J+*QJQ.HO2I<Y65Q72/E"QVKN!Q=XZX'S9KPMYBSS!>^?YG'J9
MF_K;@*[W4792*'<J'L@181*3-BUEC#! C#G3Z#EZ822)PZ9))725B<&,.:FX
M$\'>[BX1#@N6B$<+4[&YYY82CS.BXIEU/W2C/24I,^(ABP_1P*+A4VRW5-5@
MKCPVA?-WO@/&85.W-"E O!PR0N^:_=D/F-%IPM/)J/>1IOWW:0QS70AX3FSV
MCITADRP7 +!3:VYV+TJJ1R7+2(20Y71*QF:XERZ)2G)95X1)BW,_"]5W:$I0
M?56H/.]W^6Q1>$;T_?Q0=QEHB^;P$(7)8?AQA"$=#+L &H>K_2>P&I26!X>Z
MYAF8C+',R:.V-C.E9EBO26?#1I>U.T2U' 8KV'*Q/P31"RV>%I. ]"QCBBMW
M#77Z(<<-;=5EE.CLA!@3]&4?O!3).;PMDA4E'O#B >=B:QTWO?IW3N#$7-5/
MS@/-*ZYMHS!+F#_N]WZ20):XE3A?NVZ<L=D4W[^[=YZ[XKNM/?*X[E15CF=E
M8\1QW"WS\'QC3ID(TH33GC9N.P?IZ92]*O>RV2KHX+S "L-N;"99#-7#-2/S
MI/52XK)9S<:HK#==0DPJ)!X?D3EA+.%H6,^2( FJ<=G87=]<ZK,L25G(Q[=T
MRV8 BA%0ISW22--6M;C9V]H8^9U>/=G'Y9CG]4Q<)XY?(.$EK_WME.6_MVS&
M!TZ;/%*:UWV ^KO;P']P1!T./W0SOMI-'^,H>WAD_W7REC [S,<=?K@J=X-_
MN[EJ)!:Z?45^3HHG5W<!=5,AG-"80 U@6&'GDDEA1-YX;+D)#[[X85D;F# &
M^:^@>0AWEYG"![X89:JZ+RX3R]^1( H?:/SEO)>4I_VX!:@6Y$E.WQ*V3J_P
MV9$GF096MO"A4)7_)@8'2E]:%ACZO?"#K([:1U#;UF49@*NEP9)A-P$%1:M<
M1;%&^/S@=])/78#P76GN@HW5=>=<ZM\IO,S*"K2H WPCPJ)] :ILC!2P]924
MEY_-+1&O/CL$'KXHR^LXYW0MKSVGUK(8%!B* ^J^9;_>$X]N![WK/CHF^5MX
M.1)I'\MT=D(>HWI*R[':W@-QS&H*/M2KQ6N2Q2 [VSE,9Q#/H;:]>#V#8YY4
M7"$#+&DS0D/;)42G2L63H#QNB#T6E?*."T&)+/F%$SY)=[#BG]=^2*]2NE==
M2FYKOS _/5&US5?+Q@ORUU.9#?HL$"><NJ4\G3FUA079613"&IR&KLDSB$V6
M)BDCSRB_CT(O4:3J=31%&GDZ"A8[8:IVR+>_.L4>G&8:L47&S@]%F2_GR?$#
M&"7FW?&93#N),.&4K:7]S:NF,=R0WC7GA"5.#0JVMT:,'AIJ%@#2TA0YANA(
M;NA]!H??"H7M:/E=^BV/P*AB.R_*3*F_1#L'&HGZ_$@SEZI;HV!S[;LT3.@Z
MK#(\\G1)]BL^6]+ H$%$$$/3<*,4B-6? G(@&Z&0<7SCI9()Z,IK@1TCW KJ
M(K*I_ 'J-Y- ",[G^7Z9<Y2G*\\+AA9L>"UI7V5<%35U&5LB5D0(\-.:=;C+
M^%6Z'=A*N)A9J-4 TF7!9!<(+@SBC+O7?0VU3G *G@_B#VN%7I%$(!YVA[^)
M9Z]G?BC"M %F0A75==-I/BI/6#E!AG_[NN)\S7YBORQ^E7?]'_\_4$L#!!0
M   ( +6 I%;<'U\W+DP  "FC!0 4    8FQD+3(P,C,P,S,Q7W!R92YX;6SM
M?5MSXSBRYOM&['_0UK[,>:@NRR[?.F;."?E6XQB7Y6.[N\_L2P<M0C)F*-+-
MB\KJ7[\ +Q(I$C<2().T8L].EVT 1.;W)2Z)1.*O__6^=$8KY ?8<__V:?S3
MP:<1<F>>C=W%WSY%P6<KF&'\Z;_^\W__K[_^G\^?_^?B\6YD>[-HB=QP-/.1
M%2)[] .'KZ-G[^W-<D??D>]CQQE=^-A>H-%H?/#3X4_'/YV//G].V[BP E+'
M<T=Q8X<_C3=_N4S;\]R?1\=?OGXY/#@\&AW_/#[\^>!L]/!]4^X[Z=X<BPHZ
MV/WWS_1_7L@'1T1,-_CY/<!_^_0:AF\_?_GRX\>/GWX<_>3Y"U+_8/SE?[[?
M/<U>T=+ZC-T@M-P9^C0BY7\.XE_>>3,KC'64J_[^XCM9 T=?-M]BEJ _?<Z*
M?::_^CP^_'PT_ND]L#^E7:1_EOA(5IS^%7/*YV1)RI?:3W4P/C\__Q+_]1/1
MWFCT5]]ST".:C^+?_1RNW]#?/@5X^>;0MN+?O?IH_K=/+X[]F0)P<)0(\G^O
M4GYD_YVX]K4;XG!]Z\X]?QFK\=.(-O_+XVVA*Z'W]A)AQ_YIYBV_T )?Y-J*
M19-2VI>&LCV%A*&T(Y>>:R.7,)G\(_ <;%/F7E@.U?73*T)A("NB4I,@)7VP
M?%+N%85X9CD&Q-YI'XH.-G\-IO/I&_)C,FJ"G=4V1-DOO>6;CUY)&;Q"MV3R
M6"+]2JC\"$AM6,'KC>/],$"$7-,@)7^UW 4*;MWK/R(R0AN0?_<#/=""@;%1
M_FOMZ><*!S/'"R(?D>4=)AU[\%% NJ(VV?,;Z4*:R6SF163!X2X>B/IG&$F;
M-;^-+F1Y1"OD1N0_,V_AXGK 5+71A2S?/,_^0?899#TX)7SW;PE+W 5^<>H
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
MX*,W"]OI]?LLL55!@PP*2-0<%#/JRLN\AM1/PLA08[@DD(:[[/)5A-L++0<
MW.G;7>[B#I'-]R->O))=V"]!DN". 3^W#E Z*/) 742C:X0NY@V/J"!</SA6
MDG4@2P]&_IULTE&5:B9S(@!97T5+FOP'V5>(B#]+<@B2FI,E/:__LY"VH#3M
MF/[P,!C:D9Z,+H_&K=,\R_C)(&/VYZ(JCH\.Z7EY[RC#E69@RQAB CA$=WB%
M[-VLK>Q=#[_2,$A00T9-2YX5\E\\$.3(K>SO/7?&7>M6EAT&%>1%8]XI[^?@
MD,C,W=P, V&.+,SKZOW<Q^2RDY%E3!Q1]>HY1,0@>7A4<'(B6QT,+>J>F342
MU, >ISN:R!VIL2N H8(6:+E,D9%\H.<G#]::'A#(G9P4"T,FB RB[(,3"3D'
M1H=\(G$^%RI*#H\(LD(:=8HI>PM*247)+WXO9S>ESI3EF^.M$7I$L9.DK*\=
M\.LW-!QN:-;!P,[AB@[E3 =K_EC"KS0<ZC20=WANJXWG5I(DO"K#HXBRM+K.
MZX XK(53$;M@43TG1X<T/T2OR2 IHR[O%1171V[Q)71?5A>&3 4M>U=YJ0=V
M;GN5=GKSVDQ.L^R##T&MH=.ECO@#6Y^F*_=;-XA\.L$*!Q9VA:&S15'R@:U0
M&6MT\3F:J-[0:5-/ 4:7KT#V-T+N"&H-G3EUQ#=Z8MO^MB<^JL[/RE+']I45
MALX61<EUG0,#&6!R@HLWQD.G@DA49@;T?FZ,.6]W,;C J5%4V"E1\7A0W% 5
MG9F.O9_CA'*$B*S"A\<41<G92>+[R92'K->Q'GC7;2M*@N.&(IAE-L@*.;
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
M*IKQ/'?PPDTNX39KFLL5&1A%A*)E<#=U$[/.-+O>E5/AI4836G!@X$L*F%'
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
M6(^XJ[B_?DF02%<U__G_ 5!+ P04    " "U@*16@T*K6>/6 0 *%AH %
M &)L9"TR,#(S,#,S,7@Q,'$N:'1M[+UG<^+*%BCZ_5;=_Z W)\VN,AXEDF?O
MN440&00(@>&+2J$!(2$)!=*O?]T";&S $8S VG6.!U"KP\IK]>K5?_^_^5C'
MIL!V5-/XYW_$+?X_#!BRJ:C&X)__\:U<)/&___?G_V#P/_\/AOW]_T4BF'J?
M;E8PQ92],3!<3+:!Z (%FZGN\ YKF98E&E@5V+:JZUC:5I4!6+]"X+?D;?0V
MB44B?[8[3(L.?-\T[C;M;HGG33+K05"CZ"_Z%XF3%!:](XB[*(W5J\^;K_JI
MJ)(MVHO-"N]@Q_AM@H[';@DJF8SM?XD#]E25 58R):R8O</BL6@R 10E$HL#
M.4(G 1&1XA2(@&2"CB5H*2KAVSW!?_X>NA"L$+2&<^<YD8$H6O_\&+JN=??K
M5U]TI%O3'OQ:/T +(7^L&TNZ\M!P-IO=NJ8E>:JNW,KFV%\Q3E'$IK&N&MJ3
MUG/)UOVN21RG?J''$H3KIOG<49^TGE&;ML2O^VJ%DX=@+$94PW%%0WY\"_:I
MN \O;@\1_;5ZN&FJSMV( ^0G@\#OMP-S^DLUX'0  N\OUQ8-IV_:8]&%*($=
M$=$(GH@\KLNQW5UHP1^?0$J='UHZ06V-MFEN@_Y!4,5^P:?;ZU5?@.IS^"A
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
MJ.&^/:\=5FY.-SMWN/309?(=DVBDO,JHT ^C)H'FM5"OO<QKB.(971VKAO\
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
M >_>P/G@B/O O9K!&^']'2G]@+9"0N&TVHIAJ<72DE4\5J.E6C1)U_.EP!E
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
MQP'H1XP;9K_\#AAX-[/,^Y/,K.:X!6;1]IJS1B1M:?FD.F@0K4@WNJ>8Z&G
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
MKD]#Q#ZJ(3;@#!5#J!@N@.Q#Q7!LQ4"_C<"3MXGS4_B#T%M++:%H*&#^04V
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
M]4#!X/3!K$#JX=/)VAWQ4 /N 0F!M*]3*Q-QT %XI&GB;</MV4-A(,21!9Z
M%G@R^I+V#2D_R#!XW;;>D_X:U A;(+GXA)K_?6S<&IH19=EQ!MIB[$;B[?LJ
M61BC2BDQQ,;02(KOZOJKCBD6C2F$E(FJ:OIV]86ZQQ=LU@0!4($"2QB'/+GQ
ML^'Z!126>Z0D-1N/G(K3:6GY>VXHI^+:8&&A*E'0V*%)\H8D3VCLA/P0 +!\
MO4D4@/6=F]U/9R6]PN^"BR_T[GBA:/DBOE3X9G4P)!J0WZ%51%.)FQA-7W%H
ML6X#2U05#,PM8#CKB\],=PAL3'Z2OW0)OLPE&T+G.R5P 5I@8Q4%]RC%=9E(
M:ZG K(1"RE!8)!%2OB X[%^:'3$Q=YI<#Y]DJTFG$ &$YS6$)+*<H.&4B+WD
M7EZ:5 D4?UQAE"CD]:^RCS[&[ O%S2K]8<SBRQ46<$VI4LM-4I#9H=E$T3=D
M='?#[3IC2>BNAM_H<A=7U$]E,P7!+;P,,RH @ H46,)XTNDWTUZ1E+:$+TL=
MX(RTA<A(/5W/+P;W?HEP:!<1-S$"FD;D2](RY(G+%Q5A3.FJ;*;7>-[+I7DM
MTS6F?&3.*?$V:W4CW13B^1CB^2B=O,'IX^^VA7P=QI<" I5 P2 \#!<20@B#
M\*!;< ()KQT>;Z*F*(O;<T 83?@6+L*%B(XPFG#2: )K 5MT(?PJ0'2 +P;8
M/N\ W^/8XVF $JZ.NJU66NNH6:=\7^6%#)WR79\??TB"N*'V9/"''!(*CG/8
M'*'@.&%,XKV2PVQH:G&JD74MCQ=D=N3DN $_0!-$A^KPZ$TB25Y2A.)#=E;=
M-B'8W(6?]X*J"EAC:(X<-QLX-*X" 95 P2 \T73LC)45']=UT7!3AL)L6!E^
M7MU)#O:)Q12Z]CXER][8TT47*%E@V7  _]9R^&9J;$*L+E>7F.]*T$:R')>R
M4GJA100S4W.38H&-^]>T(MLKAM\0="Q,>;E0(1(>C+I<4^@LTB [%K.Z,S3K
M#%=KIUKEGJW'A :2!LB>BE(W=.+XF<3!LJCWFEAYTU1FJJY?E7=U$296$  5
M*+"$\:N3&V(;;M\C(#5YF#5*K66'9P>+ICUQ8H6J-T-7U?N),,DD>4,E7Q*1
M(3M<OI0($V&NRM)Z@=U5MCY=L V#Y<78/5WNU-K+N>:SNY\#DXS%(,M?_MFJ
MU\P?/YL:4PV(N8&*;DY?[>:%(::+]@XO0+J'(:;C6C;0<820KJA3H!0?N'F5
M"+C_9&FI),PJ+:\5Q_.I7&*>3+0R( L%8!39.S$\?A-+4&%XZ$(%0!@>NERC
MY=V<3!<CB=B@EU\R@._,HHW<U-;[ \3)T)2)$30T9J[RN-/;;)LP/2DPCEMX
MC/QCX9_PM.E7I3<]GBVMF89\\ !%MDHDVFTV/<3SA79\-J[F.PX#;2>_ZC<1
MNZ%/:3H%00(%BG&"*&\"$4@*VOK/+3=.F-WT1L%1<#*\TE3)>TU432^*+S+E
M476 !$=L)3BB+PF.RP@Y/:'RU<'SL$C/EQ?IH2"W*Z:'0GJ!$'?'O 8E: L]
MMUP[\>'Q/7)LW@8+;= DZWR^SBB< R++^P8T@/RBR_1-',=ODL0)-\M"@R>
M;' 2?@_B0L_-[Z<^.;Z'X>\%T9FT[4E+\X1N>3C6TL6:/4 ,CPH1WL3PV$V"
MNO0"S:^Q_O.J.B_(@=5+$1WT77]Z5[MC?LD&TT&/R36M,#SUWO!4"+0@<^1E
M@"4DI8^'>:X8:!<8^/A;>C+&]F7S/_Y4BJETL5)L%1D.2]6R&-/@BZWNW[^D
M"_:0+D+E7P4W!#CGY@* $!)""(.PT,R%I'"\J$77!>XP715]0*G N3NJ#@V"
MW7X1:C4(@ H46,YRE.<"X!*22PB6@!^1";K6/JM7N[G3$;/$!;K1\7)MT8O0
MJU>Q@Q>>\CC^U<CU%?L=+O$<4TJJY,ES!X^ENRS.]30C4QX().%OT$?QFV0L
M/-T1\FYXL.,K-]??RKQQ(1?QO&2]B9<G7*Y>MLADS4PAYD6;[8GX#?%B;LW%
M1@/V[+2O+P+<N/H6JG$",6WV,=TT!A&HM\<0'5)X.7+HK9P;+&'YCI.;/Q7(
M\RW(\EG(\8?%I]1L%]5>7!\R95IM5!>=F*A69@))KBY)OJ%>O$D^9(M06EQK
M;".0TN)T!M?;Q$4SF;?Z.C&=\2!!&1UZM!C9D102%\C:PF_P6.**SF0\MZR@
M46I[0-G>1+D$%^B"#:=0[H41H<^;1)*NW*UYM_+(NJB:Y-C2S04 3>!7B=QZ
M^,*%8$RNSI7NN0R>Z=?H19WO$.7N0"#]4K%$DKJAZ!-> ?B]&2*$01AJ.IKE
M<U2I<!^EW?^?O2]M4I3)VO[^1#S_P>AY9N*^(Z2'?>F9MR,0<5?<</M"(* B
M",HBZJ]_2;2JJTN[EFXMT<J)F1K+S@+R9)Z+ZUQY\F3.5WH]J]]S%R&Q[F_7
M!1Z@ MBLRG%Q((5^+AFJ,W.]8"\ZN0_G&61L4*OW(OPI#4'335"J-!@J56:!
M6M0''X7T *C;7\.I'XY*0K.S<U&IMYM*W2W6&Y1C.$T*S-)X%L->0E/H(1 X
MH"QUT^3LMY&CUK9%OBWUYO(V-]N6YXPL!U8$D ,4>$.S+'M^'I9*TC79GXYP
M0<H%^=7KI0;N=)/9><N2P&I+ERQU^WA&RAO0<UQ$38<<BA/19%?EC;[&HS4>
M\ZZDT"V>):F7SI&[-3A)E6- &_RBA@D$AXN6SWT/.B ]MC;6ETY5QA&R;R#C
MQHJOM  Z@'.1LCAZEZ5S?\VV]@7;M..M57<5<]T&ZTJ!H5)E%JAJ73[#ZBT+
M URC6<9J[%JVC"#0=*%C-S=>C)E)^5N&PK(X">O?0K1( 5I *>O"&59O@8M"
M22$:VR*Z03OKTBQ:<$%IH$< +F**Q;!<EB:X6]*O7J44I[>RIP(E(--*A552
M90-8%@9.!&@#6!8F/?+$:^_2&MS[!6.--)D%*A,?NO?KQ3,V)+VZ+(2592#C
MP_5HX@SK6)68*CB[/\B91*DL]V*I:N@<$#.@/G$?^L1;0</12^V\*NJ<6+78
MW:@B6#VSD8!&<APTB3%9G#K_4E#:B%7>F!BQB?1,H&Z>+O[ \Z!AW'7K(D0J
MH>]B=.G!D\N.YBZ,KKIY(M6>/D9668OHF& +C"RTV9P<F:,<:K44G$OR9"@\
MBY+P1!^( #>LO*02 2Y'?MX/ 16UR+ACDN_)=%.H";-YO]*($@@ R3!4S(/8
M6S_CY_7:63_$I2?5ADS'#[TD]]@SXFNN83X,C""O;A:H.GU$P46PF;;\X/XO
M!I&L,AF/VNBH8!51?J1M$4948P9%H,D.KQ@]:1K*3A TK@\:4':Z>*7'MZ-&
M91L2%1%CQB(]'#;L-=HMFSP/4",F712795X\3/XV=*=?$*R/V$0/N50JK)(J
M&T"QZ4/VPK\(>_Q@,"W4.+,G=Q:]T9KU@TI!F((G!,MT%)EEH=P$,0#*33=#
M>GX'!-A&M;7"61Y!\2):91:%WGQ(\> )P;(;R66Y%W<2W)O@=/G][6D(AWZ?
M("6_/3T$# :2*;(3E*.NL_7]181=H(/9,"?-)Y;0;DR9C5_41U*D$/MBV%GN
MQ>#R$[D,1)*K4S$('!^]+?Y%Y @D2<$0OM:4MQ8MKG*L66UM6@ Y0-6A+,W<
MF2PE!3/#@Q(4+"J4"AO!HD(?+&$![W^:(/$2-,KE!6&WIEM5%@1+P#8\J^%
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
M1?SKH6,D]I6A/FKLGE%^XL=(_5?-S#P $?_HNMK)%QGX_&+!PBYPP8P[R0@
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
M:RG8O@8S0659!H4UF"%X0/!()7A<..7H%? @B(6BH/,:914%39+SY3G7]*8
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
MI=^OH)9V?:M\=OBX+ O[<_C0*SPQ%SR9L4RS+7 E#=&=>13#!PVV>YV?G*6
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
M1:3/[!;W(R(57._'6T^:",F;+F$/)]B"X#O<N#1H]D1<).8X.Y#RRW',%G#
M%B@TBZ(O"LZ?(V>K^2-C"PQO_"3@M_BC;^K&?HCO2DM*%5+ *D^P8,J'D9<T
M>%_*IQ$L8 3]\?Y84TR:A,=7N_#TS5XSU?U4>-PB]>+1LC6[T,LWQ&)!1B:3
M=7'*V W+;"E$4J,<O\_ZY+^J8S1YW%1V#W6,4@4>L&K1'T NQ->K5RTZ#::_
M+!R"&S4_Z-DU'Q786F0-E_65T> 5@CP<,X/2+^:F0DD+5BVZNM4@^*2E:M$[
MP:?9L$OU1=W59+PY(Q?A)*B%00(^,:5CT"R%WF/5HG=J9.5%_-R)1&9LM)D:
M\^A,/-)&9O_9!SGS@!M"G0SJ9+>!TZDR9!JA^[*\49Q,#"V0)N(!3=HQF$@.
M0'/P/U!)>!W#=)(SZP>>J06&GAQLX>@_?_&DY4L8/P\9AS!&-BH6*^,YCS3G
ME%><*D12,_WEE%DH.4+)\48,":$M#:ST@Z&MJ!1"K-Y1!J):9NI;I%S&EWP+
M0!N@KR\> 78/BJ3I:)X!\K_^BH<C^?0WT";W1R4Z^OZ#\<.44*"$V6"?)^WE
MKG+S_PA"F[$I7;U\0(O\ 2OBW^T0C-!3L-X#^*D3%ZE!9U5 1,*2UK,RQ11U
M*5!YA4B*JW-$ED$OF.D/?0TFWMT@ MT^G_MPV/DEU6MMBHM1Y#8#E!Y4=Q.Y
M52K[^01_]F<WXCA]YYL__W.H=7J*V2&9G!$W<\""-#C ,;$\%"0_DR#Y&CB=
M0NQ__0.CT7.DF-U#]'UAOLC[BC11,/P1JHDZ744EH[>6I5(T"1 T9Y;FT^M
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
M#372@O6DMBJ[8K'9XJ@IU>*$?A2WQ)^W+"[1:7DJM:9HO]/'1#(L1?EX1M-
MLO^YI=$8"K7ZG)A9B^V@)6Y71=:PIG%+]GG+PG8WHE#-C._>*5"=V="L:CRX
M)G9D_;X=<$[7WXS1E;%62GY8J>EV2V&.NQ21S2(SR%D3>;7<FMJ2[T91?AJW
M/.H2RA;L6DER))$>\Y/!9#/,;9M\W/*H2Y2Z6M4EM]U$D96$EB9XMULM@KMC
M1Q.J:%9TLM2RJA;2I<:H7T8IR007/>[3<CQGM^+&YV2DD0MWP8Q&"NU(88_[
M)"X695[BV3:*F,IXOI!*J!U?E#U^TGG9*(PG41&5^\-%=\VZV#1O@)9'QN=X
MV71PW:W*.-]RYDAC:]8FK;CE<9^&/C.O2/$/JZI9S$(@NJ,A/05-C_HD69-N
M_!ZA;52*+(VBA)9!;EH*=]RG?GWIEMN]1@[MCQRI0XHKOT& PR>/QBD_)TR4
MCY">7,55AVX)C=Z\!4XV.>K3:A768@:C\VB?9/GUCI\-S/_/WI<^I\XC_7Z_
M5?=_H#+OS)VI@CS>C<\S;ZH,F'T'LWUQ&2S V-C@A>VOOY*!'!+(>B"81%,S
MF1PB+*N7G[I;K>X^>N;QFM34:ES5:):0UE3?T@FY7HHUEFCH,9^6TY:C3U<9
M:2H8V9HT+;=*2E#2_!C,&V-6-L:EH5S1Z)[1K3B3#1<,/5I5/<ZLDH)8J1N%
MKN8QLM/H*OG1KE#Z,SBU-WXF/:(IHC)-;S@C*5=7YC(H,GBTK@7DT88QE#G!
M25R]ZBC>,)\('GN\L*[?*.96H\92GM+*8B6UBX6$'MS]/%I899QBA@U7[<L<
M6%4XGTIYDZF(AAZSRTZ:(U5.^P3EJBT@4U0C,0EJGQPM# J[9)E=/V&T-RFO
MPDQJ!M6K[<JD/!WJ98HK.F$TII)*-2W'G6L5F]_>4SVBP=*PQ<5$3'%$DETW
M!RL#-#H@R,4\6A?IDG--*\0=>;X&YLJO ;XL;1.LCH;*X]5R9J6APM"<0R>[
M$U'OB&CH$6%%)KU8YAN5.#%5LGZGP5-C?KA$0X\VBXFK5*NS=K]MS 7.W3#K
M=B->#IYZO%O,8A8+B0Z]=VXFY\5!?[3N.-N7/=HNO$YW./$2S:0\G7<J_7RB
MFI0FV^?N]XO &-];F3N/:V";ICISP:_]+X>F+ >-TYT5.U57L<!)L1X]L)@)
MAMZA2Q8+7*7@DWW4B?@GLFX]9S_KWB;>6KUGND:LZ8L3S[?A,X>FO=P;T?M_
MQY _^JOO -6(+2$1_I[9;G!@]<M!Y4'U!7CVS)U3&DR\'ZKVH7_J>^#90J\8
MO2 _$+V BWO\>='&/I@SU^+,6^V&,&>NIS.OW\_#G,&<P9SY6-<+S!FL,Y@S
MF#.WP1F,9F'E#-89S!G,&8QFWX,S;]T5QYS!G,&<^6##.<P:K#28,Y@SM\&9
MM_H)8L[\(6?>7W+C)19=ODKRIRBSGR<)5]%W=/C<+# 7 *T,S:%:;NQD*NU7
M95"_>N[X$[+(WSKA^PDTP+4N,0V^I"OZ#=  RP&F =8%+ >8!E@7OF_%T(%M
MH@__]XZZ^RP]R/LX__5=:=ZZ ?9:T<.#:\;G*W/XC80"T^!2\:$;H@&.Q/Q9
M).8,R$K<TY<U.<Z.K-L:>6<#U5!;7$?+OX: 4%=H"/<G K*OJ(A%!(O(2];9
M8\$[+"3?14C^O(K#>6GV+2W<$ C2[?F"VX:F/\,-Q%J#_4+L%V*_\.M1-BB2
MA<VY[V+.8?G \O&E\H%*G\=T'%C"$O*2A.P+56-+'KMZ+P>G?U<3QG*"/3[L
M\9W9XPNS>Q<F[-PZ<"$NTOQA;/UW@*>OC?B?U\LZI_2%KH&@J+,[5AW@*OI4
M2PWI6%PCYBK;2XDYKL35Q-=J.].*/F3U#.DY*J%FE1D85:L)>_:D+1?U@=+.
M!_T%JZI3<8(B]EI+-7U0!4X#O>9CK6=B6^NYK#J.HL1[-6_*S3BCD*^[[6[*
M)HGXZ.Z!N"?($R6>WR!<9*8ZD06:]#_8_OU2^_<[*:CJ0;JX'I8@+$&?-9^W
MC<>P!&$)^J0$[9M(8=_K2WWT[R1"_T8-W_\3V?8"PG+T=5#$?"\YVG9J>2I
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
M8L-- OJ,6D3S':A>\$,0F?NJXP'G_@LH<8*![^30$SD[AP>^59B^J?UJ#,9
M\TU0&8J(7I Z:1TJ-2CJ"[BK6EK.TL#P]R<Y"RK[2(?B+[HN\)I($9KP91*F
M/3!V:M97!)'NV?IH8!OS2=P:SV+]FJO6[B( *N0,3NPY/KA>^D$%\MV)Z(\K
MB:AH*6XT8@$/?CPP?0V^P !^U88$AU*U#2ZX8WV&!ME6;&!/9P"*J#IR0' :
M##^'&!B!$*8!.)?A1O[:_B.@M'N_/;O?_FQ"J1O:IFDO QE$%(R@^9$L>^.(
M[3L1^Z4WU"THM+;OPLG<7Y<4C3V6IE]DO2M.X?OJFV .:34#E@M>$(<,W1R/
M]!G%29FE5$EFU4&Y.!Y=2!R^'#YW'-P^<K?+#R!_U9D+?NU_.7Q+B(A_[^:9
MJJM8P#/K<=/_;87M/W"VBX&?[..0Q#_14CQG/^O^K;=+?)]]RO+W_*N5H31]
M<>+Y-GSF$,KNGB3[?\>0Q?.K[P#5B"TA$?Z>V5OL_;75GP5X]LR=(11,O!^J
M]EW;]#WP;*%73.$C/V -P\4]_OS3+,=7[SICSF#.8,X\\[+X-_QMS!JL-)@S
MF#.WP1D,9Y=FS?N37%_BT9L6]$^X>O(6A'RO O&'_4_9S_8_98A[ZIMURQ7=
MB#W\;+-3K%]8OT[HU^?["POW1^<MMZU>)=1>.$*3T<@G6IACR<*2]:)DI< @
MN)RT%R[JCSI6[Q [5&78X!Q!:E!D?XX1,U$T^SBZ?C:5"L'R_T0D#L\J#G^>
M%7;"3Z.S'/WS82E+^&T/^U\YH'HI([!5E;,MB6%HHB%HC0$M^GFY*J)7O'O@
M!3(JT'_45"5,@G\S!FZX5 3CP:7QX'(7"C\!",E*5N=!K!8WV@N^N-(64C.]
M&D% X" @Q*DH_>H%@<_92%<UB ZR)2/JP3'^+7@5-VKOA+C&W0?=L*])#MTA
M97A=K6^01/U:<L]OA#C,\SG5I(Z6[50S.^M(4[DQG9FK<I4O+!4F:%(79Z(4
M>PR>'TFF#EGX(E1:@K$%8\L-VF'O!Y>6(A.%GD *AKI)3)>4-"6[S@B""X=N
M;?)1FCEVU?[SK<)7C[G37#!?&7@XD!4JP^ZM*EKANNGQ]9YMF*GQ8T)A$#9.
MH&NUH1)NVU0+1".Q2=<K0Y+5T\MM?V&.X*-<_%+]V7 @#.,)QI,;-N%. XJT
MEIQQ>JP#PJ^4)IMY7N]0A=&V,S%',E&!X]][MRX,I4G?J_;/K@%>YEK@AY?R
MCGM&A[&_"-C>X3EUR0A?<<%)E#CS&',&<P;GA&/68*7!G,&<P7 6>M;@%/Q;
M3L&_$ WP_9431P7-L0- I 3_,'8CDJ4!+1+DW&\/#&@R>NKD('2)/UB7KGF*
MA*\7'!/OEJZK8,D)$_&^ZUT4\43(%9^I??OD<IQ*?H'SKZ\M/W^HN97A\P.Q
M$Z=AG5Q^J!?B-5FFR,9RDAYSJ6%G=\^$Y*)QX8_*SH=)Y#$28"0(%1)0ATA
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
MJHL@H]13M[7U2BB.)YF;U20SX6I[F0CL"Q(1T'O+IN/:'FI"64:B !RW+;D
MKM$%2A/82$"D$=@F)<3H,-A6EVQ;C#GY^:V[5+M"T<S=M?*WCNS'1E=_F#AW
M(B7A+R)<%A&LBU \@ 0H_6Z;%\Y9N@"R?%#.4ACWN("E?7;UCH\!E1>E-^VC
M2@X"Q0JR(3.%?#I5].,VTY%2C5HL+73&A?5JO*;R>7)SQIX@R6NX0YXCSS$T
M7#!FG PD78!BG0,S4'CH I;VV9BQ4_'G]:#1C*UOAUROF"8[C-Z8SQKYUK+[
M^EI!+P2-M-3)EF-<K*:O9H7RTA-K4]G8E-Q^&C0N+D#P!4U2AHYV#^-VI.NM
M$4EV)K'TTE<D7JEF/LLD[?/51&.2*#BDI@@UEQ:'E4FJ!84B3CW7)&5H'$_!
M,:4O<T)WD5O,QP#+.7<8Q1$I,4:Q8T%*<!0_F(ZUGMD*D__8<YNE/UQG+O<P
M\R-QX\R'F1>)&V\Q3;? 41U(J_3 SKJ\-UBOILHZ5IS('^;/<LE.N];EAR[/
M.<V;5E^7^40W$^8"/PT<WR. BO(F"<.2WJ,C# [N8;+@R.#93+#HCQT@0]]1
M07_;P.C02==6:D%D^&)J*19SN?YB]H;RXB^$T3M+FM9[O65+:%167<T<%Z?.
M(!,6%V?9U'62Q6'![QT6_ IDP3'%%QIN#\--WE:9\:0PL/08WTA7_5MCU+IK
M?13<E-MIP5L/9PD])OEUI2@T*SS8E!YG.>Z:?A1NOF! D9][V@R1AC"1!8W#
M/3CDA4->'Q3RVNI>X+QN\"^WMM0Z5>QZ F 6WK G..DF^+ #E;)<R]*4R@[T
M6'NV]L",T]LY=#$2]7*YIE*/59C P2X<[,+!KO,&NTY"1M9>:HN)573X#JNF
M-89QQ_W2AYE,K3N:C;%@D..]EEU<INRFQOD9"!G09$I=)^@G>[5\^3"78&XZ
MH  EO).I.8X77+N4+>==&NGA*,_+R')QO4POBVP/!L<N.$7Y&S1*S@,5V-#;
M+6@F0H<< H?3'; $N3N@?,=KD=-JKU.6;DP=N*A 0ECSCV...^J]1S-D'/5Z
M6=0+P\SKHF(89L[:<._Y.#-).L/!FDDH^LIHS)JEH9RMD*BZ2EA1D&'I=^R+
M? GAKJ[E2D9@I%T3)G!150WO@ZRW'PX&F 8X(O;.]M1N::83X&;HBN)6JY8C
M<)+(@U&WE&03OI@*C*CK1")US9#'^(;C63B>A>-9EVG8/*'PG69E,1X,ZQ6R
M5[XKW2WJF5E/1+5BN4#A66C0/%TB^6M'HR+F$A0=O+ *'.<7(7O0'#1=8H;L
M',AF:/48D)0Q%&(,;!X<HL(AJLLBVW<(47T?ZRH7 L@)S&5B7*[B+Q>*+@%F
M,<\9'@>6J.HVNK9)7S-)"J=GX4#5A9/M.P2JOI%I]S#:J-*<E;VLD.3!E-%6
M]7FEY=,CB#;!?<]KDDM]K^RL,%QU)EOMARM]:)CM*3@#%5RQ/%00][,T_&PU
M,BYMH9\-91]B-]4M4WX0S)3Q2F9 MB7P%3JY (F"YV?(H+=(&* BV>LT<T;S
MZ:?K/WM4D^L"U.)L]2XN;:&?K?\?8\H\"@!.KSE+V>L)JQ>;;>6N+W7[M5P
M &' BDI>T^R3Z5-13Z]_]RKO?V A_IKD>K;F:L!IJ'O=$DX7YZ\X-3^C+,JJ
M3N?77J[?<J9"UG]F<?X<E)BAK4$I*P%C 9 B((F33"=V#$+4$W+WS!YEK\6_
M9\+8.RST)-J><:&G>QB@KG5(2]QQT)' !E-),]&?[[L9S*05RBD,AIUN9[#M
M=R %+0_VBU4>]2^XI^(7;6- PZWXT7,215N<>+X%GZE"XD>"%?T>].?X-;2!
MI,=\2(3?,\O1D*K_LH$!=7X!#IZYV0^"%T=#I2%T<CT7'"STBY3-AHO;_OM&
M X%)8LY@SF#./)\S*<R9"^4,U)D4Y@SF#.;,B]#LT?0-S!FL,Y@SF#-?@S,8
MS2Z5,UAG,&<P9S":?0_.8)W!G,&<P6CV/3B#=09S!G,&H]GWX S6&<P9S)F7
MHMGCES@Q9][(F1?FY3^9,O,SLE?10?O%7>MYJJ7LPU0+?MOM,8O)^'7(F,)D
M?"=I3&$R8C)>!AE#+PZ3$4LC)N.W(2-6:BR-F(S?C(Q8J;$T8C)^,S)BI<;2
MB,GXS<B(E1I+(R;C-R-CZD2!C9]+1GR:]]ICJ.]" ]DRT(?_>T5?O9(>Z7@R
M\:D:]53%FI,*-=Q[ZZ[^7/U!U2O^^^_P_5 ;"\N.L'SNX>,YA"6!A04+RW.%
MA<7"\B9A^;Z2P6')P))Q4C*26#+P!O,L8>F.@0TD%7X)B\R91";UN6&8]Q<9
M5+9Z7UI>%Q:XJ-XJZ!W/JT0Z\VP@9FINK&,.*)4LZBS9E9>+237QUI;Q'6!J
MEATT?\Y[ 'XGO>D!#3)*/75;6Z^$XGB2N5E-,A.NME?$F'UU"^@R8C]PW+;D
M KA&%RA-8".AD$9@6]8T1H<5/NN2;8LQ3HG=KF9FC?1*<LZ65UR#7?I7?Y@X
M=Z(#SU]$N"PB6-?[I?7B]A"?3Y:/*7*<NI25O:"J<>S](OA8T#^?+!\FZ*<[
ME6!!QX*.!1T+.A9T+.A8T+&@8T''@HX%'0OZ9;38.F=<ZUF]>> []OKRW/>L
M:8.H*4E#;4:-2C(HW#T DEVP//M$YQ[!]ZAL/R?*?$<K KF2=E.=M@\73*50
M(T+RFB3)\S3NPEAR(63Y*"QYH#,IQI)/PY+30?*<9-LKR(;,%/+I5+<O;7K;
M:EI-RR1C5OTNGU[T._U^!BZ,IIZ#&1>75_D%3TL8.I($XW:DZZT1278FL?32
M5R1>J68^Z[2DL4H,^^3H9B)4^NU6IE/.+M?<" I%G/JXTY(?OX/\>!H\U;SG
MTS>6]_/&?C:C,0V>KE&)A?V;,!K3  O[CV$TI@$6]A_#:$P#+.P_AM&8!E]
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
M_"23$QIS8#;+Z]8BN<SLXQV2VBF<VEB15JN@><1CD+<I [?*PV]M0:W63BS
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
MM,G]\*'<$A+JMAB*+THF,RQS% HARH<AT*FW:AF:%7_(@*'#;/TP@KEA8@]
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
M1=$?LIX#U^TXT;AM :U===S\<?.,69))4<-5*D-J7DFLI&=S3M%?7Q>\#1;
M]$#!MJ:H$ PB84]SQSG/@4(!;'XI&QYB=L9QX#R!TI66)PIK&6*Q/>\IL2PD
M*Z"44JWBI):H+@-S]2?)):_)]%FJ^EUF*#9Z3PXN8FAK\+DE8"P 6AAZAV0Z
ML9,J@$$)@]*S08G>!27ZLT&IR7:K&4"#O#"M@U)BG&#6-?*S00ED*NG5E!EQ
M IVFUW>+=4(T/ 1*W-4?+LE=<VGFYX 21AF,,MCTV4.9[53+I@QAI6HYS@D4
MB6E=<ZFIG8+@I1>)J5"^,7P=E;%*HQ*6W'4JG<0H\HUZG6 0P:;*NX-(54VV
M^$%IT>;!8)KL57KJ8DTB$*%HB"(4?<TET^_7$.42DPL.PDV=&22G9+@K(J\Y
MKJT-O7<-/'W7(",^V/D&,>D+A^O/L/EV06 ?KLU9+0.J2U/1Z0&S,/RZRM6H
MU_>Q>A_/TM:RM^LIQ8UXCFJYZ;OF78U;H-JBS-4?EDU=,\GCSC_XN UC&\:V
M'VB*/HQM4KHA9832R.0;B5MOE:"=.Z7WV5&SFWFB4W1RTZF>R]1:P%]-%&Z(
ML WUR$@PURF.QMB&L0UCVZ5AV[>VVY[G9B\DN[1(^B-6X)AD,QM+B%:I/X+8
ME;[ZDV2N&>:, 7^LHS@+"B,7MLI>AUR*()?&OLE5R-4RM_!FL?HT-T3(A0*$
M2?(Z0;]CP^3+RSUS@0V) U5L10!#FVIF> D))Z*]IQ'Y>??QO@*--KA\N9<6
M#T$: ?/?%V=3!KJ\N3C(WZOR!EL;';-A@=2@QA<3+1[HBC3KCSXZF@>)"=]S
M H3)NYY()I;9I%ZY72P75BW%I=LM,8G">AQY3=/')[W_X*->#%$8HCX1HEYN
M/#X.48;6B+G#5;M*-H2:5)^ZZT:K_=%!N0<AJI H+T:@."L+O59M7JZZRVEA
M-((0A:)SU#5T>S%$88C"$'51$'7A5M1I#_5!"*JG;G2&3I0]76IFF*(RT05S
MCB H??4G?9U.4AB!SAI1PP"$ >A[V4@O!*"BKLU<JD-K9,?N,G19$UMI P$0
MBI6EKI-DZC$$^DZY=%0J>&'7<B4#Y\Y]^!GL/LHP$&44RT-])S\+9LZ5N_P5
MUGXYQQG/;#K[J5D>L1I-CV.E]5*?*JM)=W[7[!@BZF3-7/VAKFF.O::98QC]
M28>E7^ 6YU=02PQ)EP!)!P8@MS"9!9^FNF1.DTI)7L^"?,;_9$CRRYW<Q!A7
M4GINWLMENS(];2Q:$)(X!$D4E[I.4S\;DBX$8WXX67 "QQE3SP!W.QS+T[%$
M-A963I130[U0&)TY^2)M#(UFRF='0L6] 5V7MK)K%1E#Z:L_-$5>T^QCE[,P
M[N"\,0P[%V#5O %VQIZ>:;9-<RITA*DX7Y<Y9V*?&W8:[49E1GE209\K$]TO
M6<YB74$&3W I-)FX9M+'L?2OF_0%WU$$)B2, 9EJSRQ((4" Y0R8#K@F3. 2
M?\OO=%* ,[[.77_C*]#@[/?NOP 1\+$95@:L#%@9<!8+/D3^<"<_%YEY]<,[
M%C+K^"E56\YXFM)J5H/INMSR]0'(K;W-A^;DH\?'7'NB:"/_MDMZU>0\MJ8*
M/6WFB^F@H!-YG:(?/3[&X(,36##V7'X"R\/84[H=D?5!(YTF*V.CUN;G-3,W
M>(?DE>=@CS!MQPKILDKS1=_+WOKI?*V70]@3N/SD=>+Q_-UOF+MRWUEK%G36
MNB8DA[ !Y)T+%)S3@@]WOG^4]0O0!1]58"W"6H2U"&O1-]>B"S_Q.V]JY?..
M[2936@,9I>21TLW F-7D3BZ1;HD4&000TFEHQ#]V;(?1 Z<+8/"X@'2!=TZ"
M?"9X4)8@9MO)M>ZI#+E8=N9%M1B 1Q !X)CK-)OX7H?^#7<,[/V#?GS*CP\V
M\<$F/MC$RH"5 2O#SSGEW[$%)Y[C:NKJPLB&#]\^W.FN6Z:U;SIO#M(>.T<S
MQA[P 'M;YXNB-VK<DC[;<7R1H@(?G+NF* X?XO^H0WP,+5\16L[KDK\*6JI^
MJR^[Q5Y.H"W%B95<ZDYD F@)>S5=TZGC O@O.J.?0B$SP!<ZHP]I1PP!I#P@
MM/ W5UJ"]RO0B@-X^%#D8N.:7X N^'  :Q'6(JQ%N-H(KC;RZ0=MYPT8W)^O
M105'--.#U-T<P%FFDPT,U7!<%YFI_-*U)<@OS93L59 K#%T#M +;,HS .7"!
M#1SW5&T <BCV<C*ODE-F>'/73?;6-QGH#M!!I"'%7#,4[O7W^:?]%Z>-&(DN
M 8G.&U_X6"3BR;K03"8:14%S^KW)8JEFFR! HB PP:(FTH^UY@L"$_^Z$I2,
M2XO"I9X/'XJV>.O44W$TF7!>D=8$G\!?=Q8#IK]GEJ,A*OZR 6HEO@!;723_
M0JO9F<R]7L9DR[#L7Y'R14]$RG?T.->:0:3G0)2O0;-Q,@H2(C:"+?D(R7,M
M@B1(]-Y_X8NC?P.&;F<10@&<@2'-'/ K^N'W.;:$/=J%GP3K@;\&DXH9TLKR
MW%^JM@3**='8(>9FR1LIV0^?O06;#D VF 2<Y",PFSI"R;^E?PZQ^P!&CZ3Z
ME;,-?T//@9."(&2$G_@AZ3<?7?W)& 9AJ83EV82UA1I"L@%A6++D H68V1"O
M;#@%0C,)=PP((=XA()824(8DPD!5V%!*C@M,E\A)IJ1(\:V2'6$%EK"S2]CP
MPB1L<V..L YN9Z'@K^$I\(UP.I(1B!O:MJ$TCAZJ[0+'NF&KM4".H 0B@;Q_
M\J;*M$- BLEC0G.(H>1 &8:/530;R"XQA(]&+[=LPG.D$2#^=CPX4G((1S*@
MF,-7P GLO'@Z,ZP5 .B1UN8A4!4<;X:NE06OW[ST'RSVGRGV\H6)_1/UB;;"
MOY5LTW()9P:M0Q71 LK8H:@CC-X*.+0%"=4SY1"O(QF^?]G8@TLAH/D'OR4#
MYYI0H9EHRO#M"+H-,)*,Z\TD L79"/]UI"!..- *$BX#&P.JD6PYKA-)^0?3
M,TX\K%X[MM..C(<- 2,#)[1EZ]X4SD$^_OT3'5[J^1;KA\_RF?.2 L="+!DZ
M17)IEDPFDHCRTI__[I'Y/2(]I]PFZ [E-4<V+,>S01>^( MW$WWC[0Q%+3/J
M4M+*-_1*ML58)7=1K]#050/0+YK!A[FV!SXQFV"X]]Z-W \M0X%_3,6)__D/
MQ9&_R_5<H\83W4R?[VP^BO[SWW^'9Y6.ESMBNVMXDV2_I&#V>TW^V72[^M.
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
MV%H\[_ %XB+L.0X81H$6XU,IJ&Y ;&^EU(@4==?7(_N[[[5=&9T#D*G/CVM
M/X*R8:2:]IP45"D^2Y45I3$8SAZ"2CG0%TSQ,9(]+2.+H0I#5:3$AJ'J<Z[)
M?2U4,>/B['Y0G^>D0H'*3XQ,?%%-"@BJ4'B09F,\AZ_-X>TJEL$M;MEO-XO_
MS]8,+(-O;AW?(.[RSX<9@[:E[_"&!R=&1&1#\T=O6+Z",VA;;O2$WN/,!F55
M7WJ->=U413I>:-XQC:DAS%>HE'!(&Y2DF!C-I'$\!<,+AI<(PLM7T :] U[Z
M:N>.Y#L35^=[J_ZJ,4\/N%X +X@YB(F1+!UCTR\1KN,0"-[@8!G<UB8O4D+
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
MK67&Y15\\J2GHZ4XMC7#:I(RIX_N^=FBFLZ@=Y[VM% <5!NIOLZ+W1DW'Q3
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
M'0\4P-JO%8]T_[L/ K<R^.380_"<7:L'?L"/W_"ZN72"3T8T!8;ZQ$@XA66
M94 E$U@&"2ZJ][VP##[9%J)ZS^>]0OC]:Y!?M4P>^$0*=!B $[5P9107C4_*
M'=HG1W(?3HY,)5)/$F;&P?^B3 =\5@]'1ZUN=WPCVU#A'P67L,<O<.:.OH6E
M1D,GL1E_W(SIU\QX&^-+\-_?9@]#"<1A!('8AA"(P&Y?>L5_1P[Q]Z]7'X.O
ME'8;\S <<8P(M^;$?=J*_0&]Y2/-,_]N)=W%8XEM0/92*KD/[%[JA6<-**RO
M=Z7E+U+W+9Z6OVRU!?=BJQ9.(8B 6#XI0R (ST1@9+=R_O]A?G_F'6?_^R0#
MX"PU!9P_>'ARXA!41S[\>]9VO9KM]0$<YND11OBEI_S9YU(#Q S/NO,I+W5'
M8-PIMZK%N=A$\D*%_F(IYEK9F)]>K.15Y^-,Q=P((%-$Y!0ML821MBC(Y35O
M[,/'F)>L3_K&?("KX5+HN.5M9_L1>HYZI&PS1A0W[Y ;J>N+S<+<M+6%(4!1
M\"]J&EPJ*)2U=/Z$_J;B(^_T!MN'627?-ICQ)3[@GW!=_7>]R>CNAR/M6OY6
M:FDTW,O'GI]S)87L7*(S=\):*H]-II1E'3>G"$,6N9),.GD]/Q([C5$02K1D
M\$5GL5_D#K[_VF"T7<+[GI6T<E+#T4TG52TQ=KS,,2L():^ZA&2"NZ!+&-D
M(4I+1F(^SNU[9S[?C8;.;@%^;H;6X?-"CI$;>G0<1VW,:07*<V12+@[G8-)H
M9.SY*GH.X!FG3_/[N5YIZ))2?+#*=W4S.2H5A2$7Q ^Y&,V\=*_H&\3%;L$5
MC(*<HB662,8/KZ<_1Y=%ON@NPD?N@%S\7LO'NE[W'0*=P!(KS9L2<^ $2&PI
MC]<H+%4+KWA!I"7 4C;\P.6"*X5,+'S9@1L!8T/ I[7M2V05M104.46.V5G'
M+7RY'5ZU,#0=&-K4ME64&H8^.>@'X<'N H\8 7070U:F&EBBKSKP75"O5: F
MB#!_K'-Z:R.XTN$&KPPN?J'WSX-[@W XEAK^8>M#[KJ&KKC9/OK_OC+'&R44
M.W,WY,.;HI&A#M&-,W2CS(&V[FARL"TZ^#Q8]^I6X[%+VXW11^+KNK+*#5OE
M54VL9_+)>:V_(DWEF:M%Y[D'GKPW7'L;@;1;2/B"!1\)9+U->NB@*>I >60,
M^'RX[!8@9LV'@V6?HM.53D?W[TR[2L;O*MI8B,K5HX^8^_>Y(\12KX0?#NXM
M'S1IPV;&T#9W4MK]'ERH^SER@*S'5U N9^XQ/[D+_7@O>/^H/')MP_>>WJ"^
MD:3T@_O6O\UX\V(="CPS>&;PS!S/3"J1YO',1'%FL,W@F<$S@]'L>\P,MAD\
M,WAF,)I]CYG!-H-G!L\,1K/O,3/89J(Z,W2"Q#83R9E))5(O%@#',_.;,_/[
MESM>/:GY(_(A7L%V+(,_0P:O>5]_@@R^EQ[L*2\HZJ.42RR72'TS&HPPX8((
M,B["))=MTL6.:N+2'!/;529J,GR[Q!Z3>PXR:>)!>@N1W2?W7(R'YEN:X!M9
M9\C$UU9TO[BU!56A"%06BD!UH8B@3 %6%:PJIZKRQCS[N>^ H5#UXFVK3XW)
M@LZ1'66]G%78LXGV])#B4<(@%20&?KANT&&:WB[+\!(OJUN[G,3/SF?L-"FK
M.A7Z75UCDB[H)UUS.GUW0:;?JBEW( <X)J0P\N2QYA(JJ;*]:-#HT95FG*K=
MB>;8:(V6;NZ!KZ[@W')75!L.J0V-U>98;?+CPCHK9_(M2=,L8>G.<Z _6]V:
MV@SIZRD.?9"@C!5GKSBE.M/V,O-"0Y2KDUI_I><UIOJY-2POH3C,CU_DF5M-
MKWWP%_9YL,^#?9[@99V5_448M&H:XW5KZHNB5M*I_KU8\N?UB&)0NB^ 3&>^
M5DB3O2^1S78^OJQ.X-RF_E"?Y^O49O*@2^+,7XRD0E$JR1)=(;5%1%WEY]7F
MC_5YODYQ#$XJQ#?N,J?32ZTW:A16U9$846?Y!<4)KG-CIP<[/=CI^3@(31WP
M55NONFD^%#/MUI(L3WOWE;F5R9?&$75[RGK2K2IU7B<70RW>$?*S![HBH-FE
M_E2_YPLUAT]GZ(4Q+VC2QFG3;L%;W5.MV].</]?U^4+=(>-=,^OV)QZYZ'DC
MTQ7&Z7DRHE[S2[H#O1^*Q#&?KW-_TA$\/<?^SSM?EK=]YXN :&$Q8VH]G3Q(
M<5ZT5U,[!T:;B +1N&,Z#^*]D]?CTB29EF;9J91KHLEE_U#WYPL5AR;G37HY
M&YAZ6^!R_GRFZI-41+?O+RC.'^O]?*'JS$:YN1!O3JIZ6767O5:9K0OEV\.<
M(/1S">?G<FET$6-BS8.1X\O.AJ#X&(&6WXLY?%%@J(M@=F[4%. 2O*EA[G4$
M1O9UM*A[MK='/[9C/W%J/Q/ 3:&5:F<YNZ;'*YFQT[3NJT5*>#<MZV\A^-,2
M3D$RI5NR0O[L@+4U^ BE5Z+LRB"Y\@Q/J]Q83).]Z;TLEF=RLEOSW':ZMMK6
M>8I1UZ+GQR 6$;%@$'L.Q.(W.J-8T;&B?SV)><1#3E'.,[J^\W @B&-6V7/E
M>]AD2\].%XTEV>[,_+J:[O3+*50),OWC%\>FL7^ 81/#YI\"FY'.5(@:<$XG
M::,UI7FIJ]_'73-93XY$M+6B:+RW^FSL#,E0(H P5\!.1"82@9%A[(SJB</K
MIYP1@TY2&"Q49MYBR;@Y;BS+=2K3'*#2OQ3WXQ<;8]+L"]!Y"^0O[SD\X(+#
M QIGB]P&C\=G>LQ_#L0?G@%L4Q+",X"#_(3/A-1[:Z*09+Z0EPI6M]A?LD.#
MFM_H&8#492=*)[>>Z?%I<4$QV5&++.T*],;(:_JI&(LP%MU2*!_K*];7FUL[
M;R*7+\I7.".V.UK,1DNN5I<*4MON &JY4N7X&*W7Z1^_DLF7MD;1M7R,?AC]
M_F3TB_1%KHCAG]:RQXURS9U(!6Y*33;^;%S6$?ZAP#K>L%P]BOX-(/!E_FT,
M@7]6?/SURQP10T![]D#[[>EZJI=IR>J7XYPA\RN$@-R/7WR,^ISX> 3.G,Z'
MS&DJ")DS^#@5IZ+@5)3?B;73C^75CR]T?28\#S</[#*[D1L2[TD=:F U[Q:K
M3X;G2\7:"UY9X&QY4I'X=+V6U$%=I.:3D#R0A<!-XYP0#&)_)(CA?'NLZ'^$
MHE]I<Q?IZ]91YMF+V-XNU3)HKUIJ%$GY83E>=.#F5)FMH(>0_O&+BI%L"GL(
M&#@Q</XIP!EIEJZ(06>KFEWEIG-K*LKEIFM7G'Q]S@@0.M'! -Y=X8Q[G''_
M)V%GI#E^(@:=<CLU+.74\0/9%4=IM\4"36%17 J=**1B3.K5$X6_/7ED@*MA
MVX&NSWPX8>/-"W#W5H +1U3S3=@'Y<NZGO,=J'^$-P7$6'-<CUCXL@-UE+#'
MP3%&C'@LLS<_*+,W0C..S');9@^^0?:(%7  ,4&Q2/A':.F/%PF2P:D(22RA
MRL*_A5^'3RB^Z8>%@G<PL97(^:@P-7P,"C-#YFI!8?3-)]85/!#&7H&Z&Q@:
MT_9%=[EZQ;]7QVW)')>&YOC.' W)U9&AQ5V@_%1]!U5*=H%UQ>!P=B_6,$A<
M'PO*5 /+X%6AX=5DQQEZC'^G-2<B2RXLMV0NU8S1ZZU^_/*0ZQ?? -EYJJB$
M_/@BI"279G"[Y:G^1!:U#TS["VQK@2XDV\.<F6P.Q])&E#2I3]&5FM(\3[3V
M5X((SAW@U#UVFP AQA,.4.R)!4$)FCCT;P)TP=;]^=9-\M!-]%?B4BR4TJXT
M6V;[5JOYHG4?8#SZ&;X\1E@@L'3X^1AH'C1D-T:L9)?X_ZYU]G>#>G#@7'%?
M8_N!/1Z^:>MQM?;&6(>V>"":4'?V6, ?*,ZZS [S9J_LZO5ZLW(WM(M"YAXN
M"USB% H(Z*D8\(=$X-;<D ?V15WM(%<+U9Q=HF-:9%APJW#@9<D$?%P'WE,7
M:^]7P5W?%E-IDN*(2J?4",Q1!= F3-@=^(B+G#J9J"+K(K*R8]B$JX6@ 6>*
M^#__HGCRGZ GMF'8J^!IZ+KI8$-HUMSW7/A/T,3A&V1+-C:NYB+U)N3 4/:=
M@H\C(PT*5Z,\KY^!B#^,^0J7;H%-SLJ2?)TBZ\T9-V3OA"/K4:9 ]0U0'[_-
M2-"A>&A@KNN;X6<=M&OHP"YE#&CZH?X7X+9Z/ISG5A35LYJ*M)FV-F2KVB"'
M*/P$H+',80\\QP?7BZ5<0]N#'=+N.UO:<@5.OCQWP<_=#X<]XV%3VTZ9\CH>
M3)ZU#R[$#3#V#J,-\2 *$'RR8T@G_T)]]9Q=J[LAAF/X< @DR238J&;#4I]W
M.D"GL0RP#-()"MM"@KLN8\)-R #; I8!QH-OA@>_GR\?96_I$W,I(HL,5RU5
M]*P\R$ IOE/UHO#.Q84*6T46/Y#83@:/30B;T(5,B,8F]'EK<@2R.(X$5@6R
MZSOAR5X8^R?^C0X)W/]<##]PIA(6R]NW,5$0R]OSG#X>[?Y(E@^KS1:=3:^=
MT6D:C%<TF1U-M<G9 TEDPQ<Y>-I?+CN(H;> *6L6G(<#]-B=+.U*N,MW*W=T
MGW))'U2S#Q19;P\SJ(0[\Z*B_?A%T(D4OU>J)PDSEUJDHJ!DD;(]#$E8+!BI
MMTA-'R(U_2&DELIZ-^MQ157<M*O6;#09;>I6-)$Z/LC3,TXHM21ZLF*+7J.>
M&LU6$*F3;T#J)$;JC]G>+03Y7M\]M#17)\8. (2&]IW0% AH2@"''G#XY5;.
M-C[IHL.E<F$ON6UXS%]CWY"^MFWCPNL3!) \Q(_2%CY:$#W.U046:=$;LZ-J
M2FJ#.[U2J%7-5GY;-I)-L%>Z9W7E>-;K^/H71A&,I!A)+X.D5W3K;PA)N_5%
M9\&9G319UA2_UNOG)'^"RNM!=Y]*)/GOCZ3?-I:?TY8:! ^5V&C 4''X T>%
MOGU4*.IKSO?VWM%M$]3='? \M^;$NQ3CENIC4J]G[I9B9F%0BX=F6/"%3)RY
M:G:CX://=.@Q_&"Q8%3&.X&/HS*7=*I-QQJE]#@M=^/#Q2#>5A$J)_]@5/X>
M<7G1]:":H3MZQ[<.CVX9!M</92^\SD>H.&Y_,]&FSZ$=NO& 40A_P45T%V&G
M.]1,-3=FXBF57,C<(">4^"K?%"+@P%^=.>+L,K'#B/T?Z^.CF_#[-8/<+QEE
MT4YQFX8FB'QG0$WCB\FPM=RR2=-),L%?J1A4I!-+OP>F8!E@7/U$7/T4%_QF
M<+57<&JBH=PKI%RA7+JRRGJI$N+@A:XXG4XEZ"LZX]\"4XX8X2)"LW:!ZX!P
M(,B(-"NDL?B"*?E"7A4Z=8A1Z/^IQVR^$]D>WNQX9GR[&SODVV?@:TS@J!W8
M3-!*HUWM'+WY'7JD:LM?_X7_V;6B&$!V$#Y,_U$U=V[(FY^![3P1%(,Z:,+?
MMWTG$PPW?\KU<?#:HW?%%6 8_SP#24=ON+Y]'E^+HNC']6ZK3U3R0% '__W?
M_SD<WV/< M&HV,[/W8VO WEN>T '<#H!\9$#9#TNCV'[/V5C)6_<79P@G=C?
M)?NYOS2&1$Y02-!_$0<_(S&=S"*B:#F0Y!%+R_9KQT0MNP]M-V 7^NF D%'L
MR31NE<"SYS]I*L$?ZP!+)9*G2G!U.PGFBGF<L/_*Q-1!CL6_.K9R%FO1SW 9
M@,N_<73W:_O1CU\!$Q"*BF3M@.;&W9N,_%ED4>^^KM>I-S)2J9(CLO56([&_
MN!?!GM;J';%-=.JPI[6<6&N+J,^U=KU2R@D=^$N^5!-JV9)0(=H=^$%5K'7:
MQ+^SX6H'U/]<>VR_3^;Z J@^M<QS!A?AI>4=WI<<N+##HJ%39#I%<U2*_Q%:
MD+QS;J=Q5>$Z*E<DZW<IIE(;@Z3 K^ V@'SZI-;IYOV>P&9TNIU\\"G7<K,E
M]"3]]$FI+Z@6/YY-Q+9J [9V[]<>>NA)[NF3Y<80I)8:4'6YI=]I,U"XH^L3
M^&3JZ9/-%2G3Z65:D^*SN[N%5J*FY2Y*A#_I)S?*-Z8/^7A/I*&4EBW@59J,
ML+W<=/2DX+;6E+E!>8NC4J[3&PT*]4$3/GG23W/LS)8RV4R)9;&H4Q)3'B77
MZ,+423_'=A>X<DGD1;['YMG!0Z/E> +<3)WTDVF.]69FG$Z+=9[N-OR:DRWJ
M0I@U>?QDKM?/.36MR>E^3Y_,:LGL>GZ/S@).WIFM;!8L:SA#W>R4UX;O3Z>5
M.2J&>S*BNE';].+"@"-YF6IW*E.CQ630.W<CNA)3W.Y0)8,8\8#KPCW=2+."
M]^4T5S%L=!'B"0-<9S244XM*=3/M9_1-79Q9+3,S632$SZ)_>RNP'F[FY@Z(
M!]LYZ+]0"8+(2.U236RW(=!6,Q!>.R4(N%^'HQ^]</U%VS5!6?A:0(P]VBH.
M;$]S"3E@2)S+CK?C;;2MB8V><SUTV6&R(3R;@&[A*O@C(L>5K4U B@C6<_0/
M^C@\>2&"B,F.BU&4E2DAHV;#Y8&8RBXQ L""'RK0RPS.;Q#M(NK$KE.H@9TZ
M;VDAA7:62)%<C$#"I,E_=HI/'&B^FPC^2/VS;5LX:-8)V=KAFUTO)'I$+) !
M82QA0JE.70+ AE2B*CNPQ\RVVNF>]S$6<H!_,C7L<R#P3E;6%]#B0$9;0OLL
MDM!9]M2*K+8JC7&JK!=2]*:KZI-DKC8)4BJ?94\-!'AMJ3T)M/%+BUF*::I#
M9C6YF!3U#,@)[^>RO9#4DBQ;71<M6A*S2R_>$!?FE,TVT?%S^EFIQ:"^NNB$
M&_I1QB;QJCXCCE/-4@Q?#2E+7;@MA=8;(R;  HYLQ()ID%6XQ]$"BT:\]#M6
M:_A\:-10_ZTM-6M ]A$TX'KP'Q0,= -HF -G:VN8%O=-7:U;Q)ULA264^=BV
M]L *A)CH0 $C')(A$(<"1K_!N4=)#9XF&W!RW"V[[2,ZPL?:K5*"Z$PUQ&<+
M9\C8/G((M,":(C;D$)KA,NH"Q'T-)[L ;-@_.494-66J362H;?6I9L>(/-SN
MPUF/$8(ACV13#I2F;?O>%!'E0HVP9-0H(.8^Q$@9JLX<.C7!]O**%D[S>V!\
M_&47-=_9YH%I/)8[<;0B7)*A';C;:+K5Z50;C>'#0MQ,J'9I1C6KC=1%@0'N
M[=#<A9WO.++ECH$#9YDZ"PVMA^;89SQA1'8?.D:J6F;E@B#\^,5RB=.*='M$
M19S(8S]8K$8;0I'=*1&LJ\C"X?]71SSU$]M65_"+UYBDL&#-XZ3$?77.M.JC
M>Y%O)YE>-Y-V2+'Y8?$6MET_*[I%>C)D5O.20F8;Y7CJ84UFW39<BV@N<7H^
MB[0>=MP"X; #.FH/&<^!O6 \^T!7#Y.<QL'_D).)BJ9HCAI'_N2&@*Y6<''6
M@FBVW)%5ATO6&%J-@=0T1BC \63$S2VO(1JBI6\/AU!A0.B,>LB@PCD-7X <
M40-XZ 5(]17881ONM(@Y7!7C:!>$ON4 N#5>[;ZP727A%U0TOG!E,^4-=$KA
M/RI CJYW0F6^!>@=:(?-H846-H=,$,K<"^I&'$-C#'F8MC^9!J]$UQ;@NP!R
MB<T33J+]8FU F5F 0'?F#VC,@V5B/C<T)0CI'2(]6JAW/D+4-"3:RHP6LY!
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
M5T4S+FD%.;V> %'/31 *A$Y.^L6S\V\8.&I#^;A!BO/<L>=P,)LPUPCO!G$
M"0>0OH?C=+ 9#,Q=L-3&UMA?R1IX\#6WW7=7 S)[GVFJ2;VL&JXP3 =A)"Z6
MXG"F$0XC?;58<!CI,\)([T2.CF]FJD.^2HOE@3GR4Y8PU7M-B!Q\@!Q)+OF-
M@TDE=%$>N-XN89N ,VS8UB0./S;A'(P\O+/$X24<7HJ4E[3;6.Z,MQ':[O,0
M9V3=S<*;6UW1EPR0'L>]*64)B&P<>D=,C'JQN DV>QQ0P@&E*/@X[[9[AQ[-
M:G<-L2_&'Q;W:I=+%6=Z8/?(MZ%C%,O_63&DNC<%#M[W?7K "-?N_EA *<(<
M6]_+E0J X;1VQ//0FAHQ9'?:F&M2?31I%53!U(K5)BK*LCVDHUZ"5@P\GQ1P
MPL#SL8 4!I[/<N;>C3S%9'XQG-8WBN3WQS2?F_(-D)X@Y D/!LEOE?T$V^C8
MGFR<*W"#]ZB7]-JB5N+V6M1'D1OH5V/;-4_Q#A!-L-2/T*P4Z9&VW+3'$KFI
M#N>RKZX:8VX2 #+<PZ:9&,.^%*#'R/#[;E74#.9:?$J1&^A7(\-5C^E^'QI*
M_98N= M+3F]W-HH^R+I=M1U  PIOI=,QYO7+=5&JVOWX,N8=%A[!LKF/+Z/?
M/I OZG@; &@\QSU'/__4H->I*?")FNT!@B%0ERGJ'Z(5IMW#?X,RY8&UP5GX
MA8H;JYJK^ 'M)JK):/OPDR?9^L1(-M"%43=![/BXM3/$6>A#!\@N4(,ZC[(3
MEE,^X2F/$:J_+WON:2:J%HF*D:/JRO(F*&T>(R#N*5/"V\P1)!H;PE84V#-D
M9\ZNX/,&R,[-EV$.J] <5-M1##@LA/[3?^#,S UY\S,P]VU3>Z1'34+1[3I(
M)AAN_K0JY,%KC]X55X!A_//2'NK*!7V>Y;U',>\G16>IU&G1'O3?__V?HR)%
M^W@ *KAI.S]WZ]^!/+<]H(.E< +B80TD>0S;_RD;*WGC;D>?3"?V%2=^[I=0
M)@C*(T'_11S\C,1T,HNHF.>!)(_J>6Z_=ES2<_?A*[68MDK@V?.?-)7@CW6
MI1+)4R6XNM,7S!7S.&'_E8FI@Q;D?W5LY2S*!EAEH777.**-WGX$M\]A7L>8
M0'G("!#V)B-_%O"^NQY#I][(2*5*CLC66XW$)Q8\?G=/:_6.V"8Z==C36DZL
MM474YUJ[7BGEA [\)5^J";5L2:@0[0[\H"K6.FWBWV@J-+@:J/^Y]MBN"JI/
M+?.<P855Q(=C!8P8CF&&[ BH0Y;EV6&:9N3A.)UF4\P8L!1(_OAU7'>\I0JJ
MXI>TN*ZIZ:JAUOGZW&VB,M%/GTQ*\H-<U&9W8L'++ >M0G9FCE#%^Y,G*YVZ
MG5SU9PM14Q=T9=3-2FY],J1/:\Z[XUQ>G?:4K,X+DX5T+ZCWTG@"=\LGI=2!
M7Q/CM)<;0 #D]?HX-5@Q=ZCB_<F3='V6R_)SV17YM575BT5JUBLBSM"3?I+)
M>EL9WHT$O=S,SMVV-"I;"\01?-)/>WY'WIOMP4 R*:_.S<>5?/T!<>R=M"Z/
M,U9#UBB@+S;2@"STTG*26PWY,]7IU7K<+:?:1=WOT66RG<RJK<($/GG23Z>E
M;=8R/]^(Y84+Q-F2T]I51&]QY=+PCY<K3%/S D<'[B)"NYH 2WFE3KR:7&HU
M,E4T=#-9'K'I"IUBR,A4_WZY-CRSJPU?[Q3%%H2;:K74"8%%J 7PTRG5"B)$
MG>O7BG]E#_"!$@91\#=/=P%GYJ$"L6X2*/"V^[MIZ0("^NN$ZX]F0/&0<ZY
M[U"&GK9BR)H)'7)E"IM&A/W&_ATA>;^-#@/0_18% .30N#O_'+I/FB4[&VA
MON."W>YBY+MPH&Y0ZETQ?#4H%C^U7=0#*&[XV]BQ3?AMP@GWU4%OMO>1?-D@
MX&X=KG?!]SWHQX+PT]T%FQ@!_W%M"WZD63/?@1\ :ZDYMH4,[O#K\!NJ#P>[
MB\YO'C]R -IUH%';E@OM*HQ/H'V1X@4-[RCO%%15$_J2NU8M8 1" 4%H +6(
M]E=SWPM+'7@:?)GK'0KN8#0[:4"1NRX1[OW=@QD: 4.#.S)B!8BI#/^55;#P
MH82"CEDNV$D>BG+_5M00?%ZU"<OV]F_PIK(7S)%OP T8>H7M>\&.#FW$#M]
MK#3#V#:'/H.:BPXV5#AL^! 8(XF@!%Q_W]&BO8)-.#'T'JA2F@M;)N" MA(+
MFH8]"MX[ASM,64,S!3NZ>6Q\#JQ $D^' 37)4'?Z-?8]WPEVG5"K9KXZV6X=
M W<(*8=-N,#S#!!\CEZ^T^5 MZ!M@T AP7H.!Q%HM L_G\C.5B>?E\IN?QKV
M9R<6N$W5X+X7"03M5;6%KZE0K<+)]E&;+I1WT!.DJV&+B4A[4E%<3(+31Z(:
MS@1:+!*AXA'01 [F?@<9^\D*#0PJ47"?$0&39JG M(*(7:B7 09NXXXH,!@H
M 7P*?@,5+4&:%[X+ZF(XA6"G]FT_:.+QA=OFH.Z:-HIP!+WVI@@A8UM-).0)
MA%C7V^*B9L#]YK9[R/10!S1H., -H3#02CMX>&4[.I2\.]7F!P !G0C8)Z2'
M8!V.-812^(6]-*#A>=,SC>VZOCEJ:P>($&>,G2JO9 >:,OQE9TZRB^0Q1Z#E
M(BEL!Z=J$$8]V)EMJ ?VUQ\C#'=0>Z%)[1H(WH!$ 7M/A$$I*/&1_RC?DH7&
M,/.M$(N#44 /'T#M06]T#R 5#M1RM_ 9"Z9*4604X I$ UM<:L^JP>'@EW!!
MLGTH&@^8[B,^'\VH&^ <U#LX60K8+B3!X!P(S_#U.EHR(:ALUX6CI2B<W!#=
MH/2 !YLT?/DI[H/P4[ 3V&C7S Y+37FSA<&#DV;"M]1 XQ!NG1]LT.X<K9P0
MON!:BN9>@<LV_ .!!&L&R^]^?82Z#] J" %5W?;# %?%KVM$W+ZHJ\C#,EP;
MSA5$)^18;2=BK"G!A$,L<,!VJ0J4.XC$!B9D.UOM'L.'D>T$\XXFW8$. 'P$
MKKY(7W=O1(H!S#VX'.K$%N70TC="7Y?=,.P+OZ Y"/H\^"IH?W#02]@6,NW'
M/L#/=UV((80!<P\] #5A"@6/5 6^$^H3=#Z#^(TAK_#J=EX5CA#)#SP>)SB(
M0B[2R+;48$(!\C-!$$TW@'<0H4?PC[RNG9-N(-_\$<T/T#Z8< 5)!HG'1/X>
M?!?*3+']8-^)6M9LU=TMHHV3CCRN*ELO,O &D:[ &8?.DQ9Z,H2*")#^(>!O
M4^3^K<(M!034\$P@6(H0@H5OE=W@ET/'_E &T&W<#ANH!^M[8$)!^^%;H(,6
MK-?!ML%&^*<@3S@PE[V7'FTEO%*P 9U:9I",ZH\B"L*JIX&%T7R36:J%EJ@7
MAMZB:Z12G8F^BDI@H8-<?=LP[%6P+ ?(XOHF? :^TPW,X5 +#I0HME6'8,U^
MW+,].@J!#L7"_01<Z.$?W)^WMIQM!;(]!0FS 10H+GGN@I^['PY[A@X-MIU"
ML5 EC+ ?'U$<9 MLSR?(DW,%S]FUNAMB.(8W)NDE$_R+EPL/HK<'[T?;[3%4
MA9U(=K_'46;$S_! !X*C^NI!RO88+6AX]Z@\<FT#NIR??8#R_%$T]8XS]</S
ML=_,H.'PQ.")P1/S]HFA$RD\-=&<&FPSD9T8O/Y'<V:8!)O$4W/%J7GOA9;7
M?.4_(Z_[12"_+1' ?1GZ\/_]X'Y\4!P,&=ZJC.Z=MW>G)0GH4&!_^(\-Y3L9
MRJZ=+!S#R-'@>XO 6 (T+M2&;+GQLPKV4;NB/VI7%)M@OIE=565'F>ZRKYEC
M \-:]C5:QGTO%3O)\;\$C$>*E07E'1Q$F8/(\<]+V1'F1KAUJ7PT<_ B<:<H
M".HU](B<Z&Y-PSY+*C?&GOU%VA.&2*(@J"\RO,CMS-[)JG:2YO!=?>+OM?G\
MI+OUKYWG?,^K\U<AU3@PM*?I*&>NQZ]F&:515Y@X&>^(]ZV>TKAG,^A:$B+.
M8),QEK]2'2%LN:^<Q]R*Z;YV>/$]3?<ZK!?OL]VN.6RL:F:A38+,8C$=SA4;
MN *TW8"4GHZQ#'M!DJ\(Q@B>^AB5,]EGL:?I9W@O\\D[/$RO^+&00H3CE=_'
M6PHA PB66MHAQI9="'X47'QZ Q!7V0U3SMZUJJ+)2<!9=I*30A_=KD8TKUR,
MHZ]$/H91Z!T1%0Q#'PNP8!CZ#,_O(CBDI22'7B>3,YWO]3<2-Z&91DV .,0'
M.,0RZ8O[@Q$@?<71I N[<%%C.+Q6N"ER _UJ:+N*A_4&W'J@UM6\GF2;$I 4
MB5;2&WMSUQSR01 J2<?2:0X'H:[I+47-$*X5I8K<0+_:XJ_CS+S!Y)U9IR1G
MDL.LI$U'!48R/4TJ()HI%+M*)F.IY$OEQHY86:-(1OFQM.5(#X1[^T!N(TM\
MW\L=52>4_?;BYB6ZC'Y_2X_/#A63F5Z*S#2-R4PQF>D3,M,+T55R+#4FN13<
M7H]3_)!- W4XHH$R5%E:3LNL3*98Y8@*L=01JW15J F%D.,S5VIGI7:[5*\)
MM1S\N-)OE]KU?'[[I6O(GDX]E7WJ4?3/9YP>.E9S!P17C. W2AXP"3I!$(^#
M"ABPD_^TB<?!!8R#N^$1]?P!WRDB1"UU=L^TQ+94Z02/U!MB2T!_N#0[X<G0
M7LE!O1=;]R6Q&VE&BZ\BBK#G&41K!>W,F2=BQ!3(ZL*7'51X,B"-R\D;S[9D
M(@-D91HC\A!9-56.(:X1F8 F%V3V;DFH@!,<U+ESZ$[*AK=Y9*0*6'"" SUC
M2]SS>*"'FM_RUH5$>7MZJRT'UA&?X)98;+,CM$.>,^QI&S&KA(P_6=F253E!
M1(:4XK1IV'+8\,V199X=1J-=[?S??T*.GI#@+9B=%>(2# D&?Q*E4$4>9[^]
MUY+<3DO@GQ)$W7>.']Z^8Z=D[EDUV@GKK7)'F[%W?64WQKVZ[K74"KH"UYL]
M[5IP*8LXOD(2"QDHM]QAZX FS-@0-,,=CW:$XL93.*V&K01D0;+BV*Y[JNN)
M3QMR]Y%E;L_N=C %(7?5ECCND9!SK(V ,PE8.4>RYX6VZ=@!0^C(L%=6''$P
MV8C#=(QH+1^?CQ%SV]CX#O"FL@4@G#CR!FY:93/, SC^\J=)(>@D<IM] S:;
M( 3HO'E;-JK8$1/?,:SM]>11-*%4 EI "&?VRHU]VB@<Q'PU\7<,H<CS)>:(
M76W?SQB<"0? W^QQD(4QD1%7*Z':]HY3-/B[(0>U+;I(J2W50(1[ *(R%,%D
M1_VYD\@A=^[U1QB0ZAXSY1ZN+ K4JP!.7!\I;LB_MEO'CM@6 V;;@-G7A0:I
M^@9Z HW?L"<0L30%/A%P@\7G4_D3%1'V:@S<D CM2,2Q'8/7(YKL*2C=1UJO
M6UE5OMGBB-:U\VO>?H5[)/!T=[JQAQ$TM290H+&A'?L! ,>.P%A!NF\CWM48
M\<363SVN'5'ISC[</7VK URXGEF>MJ7@5&S3! [J^]\[9E?X%X#Z)#LZ@-NS
M]PGC RLEQ=./ M("'C\K(%O>+I2?9G_/+<B!H*C4^4["F=CYI2\HPIZ+< 0!
M9=<]Y/["A[;LKUO*M2?N](X1T Y)8M$RY 9,;P$G)5(? CDHP?H-0J[5MTWQ
M(X]O;*M*AVVAJ0J8"[6'DW[$MMIV])$*9"/01A,$Q[X[301;NLQ034VHEH;L
M$%-$(_T1_PPV@8'NDM2;1QSH4WD97N?TIF]UZW<$PBYB70V86F7"\H/;KU 5
MD<7 U=H+V"N!IZ$8#:)+ERWD3>Q9-O.:@VC@PRVA.8+#@(NWOPF0S%Z%KT+,
MAO]_>]_:W+:1+/K]5.U_F'+L/785Q>#!I[Q)E2++B>[:EE>2-WL_J8;@4,0:
M!!@ E*S[ZV_W# "";U("R0'9J421\!C,]/2[>[K1\$@+YF<6"&"6AP6(LS*Q
M,IQ1 8B&PK^',7U5%E%5?$V++_\W"&=+,&]HQJ;3O^V#S=P7WC!?IC0I^)DL
M([=^[RFI?1S)0LTX'8YEWW/5DJ4&\Y16MT8VZ(W-!WQY'B=*9Z/^AW4B935^
M8!A)77J89#=TY0X++%SKJB8;,(,P&-TGL%-?!FGD^NF -P(HO0NZO5#\!G4J
MU7=,(HH[C2ASO 3R%A:MC)+BO"$Z'6"L3AC(P;#:,RP\I?&$;XU9WR (T_KZ
M$H25I#2]AY@PKM@+I(!U>>]%<!_R8=]UE Q1[@7%V*LWU9PS0;$E3ZB^!0R9
M<"J3Y[/-"9?%?1@\ @0>L;3_ X(D5IW9TKU(M\(-N]CF+<2ATT]D[@XP$WQ
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
M+L5]%HQ"/ *6TX*#^75[(M1$.NE^1&H_*JB/Q/U@%,&;T6G9MB2!1L+&53H
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
M89=DY*849NB^2'I9EO(YC_KLHQ<\*N?#)_>OD0N"Z"E+4]:'#VV8ZK.GB=_
M';<'K,V/612,0G3KO!U%(GJ'=.L@N!'0\A<!P'[@'MI>#/":1:,!TL7_ ^1.
M"4O1,2H"71@3J*"BJ",8 =_L8N7;,N^1=)1DW@75P\0)/(\/(W&:_I*?)QKC
MR131TG.4Y3II^N>2TQ*[W\C;Z]5Z4YKL<9A^.%VS6M1Z)Q*:9K7=7G88(V>>
MYL9'M:L'U)9")?U;9FZ>*E_)(\!AI8\B\5#)#Z>/\DX4>*-8[-HWL1@5S TR
M\_*NIQ<F+S:6GONEG=G?SM1I9_3<&:/:I*W1<VNJC2;MC)X[0^Q,TYT!=K;T
MV#-MS0NWYN4=ZE9JT#N'3"ZFV>M-G46:,9VE<=05#I9J@>T]P>^<2G\N_C9S
M6WG19+OR71WA6:X%[SKHO-)DG('PAF""W<.+O[RJOWHFR*Q&U<Y"TGOI,K_J
M;.!<D"YS[]Q*O]QGY9>[&/OEE#_0-BN98S!_*GW#T_GZ4?*SG!&:T]L:Y0@6
MNG57>]X1(H@)LS^7TIKU7%HSK8.C-71S%U3=897.3\@T@TS6P2&35013UNW4
M]KF,WLN,S86^\-/"V+$.)YB?KQ'MZJBW)H#:E:+X(@^9#H#:GX[]$FE&D"/B
MW"9Q:M(N;4\HIIW)MG9Q7$M^\(N(E1XP#(,'MZLR]<9G*+@Z$.'B@3W]3;42
M*P)[50Y?%R>GRU[ J=&NM(Q"FR1LV:(DG-\OSI>_\&VK7:FU[((DFU9V[T)A
M-\(\1IG:_2"B;0FZ<FM%!ZMGKV8-J<NLG+;KIBQC73;QMF%4VDWC'=FG1";%
MDXD>A2Z+(!/;JIA6<Y9,#L923(5GS_6Y[Y"5>!@:<QE"O=J9F&LS!;->,1JU
MPF4G48EV=F714K&,V-XT*G6C,!&H@5ZP6"I>#F#YLC*+^)&<D)8'])PDWAJH
M>"L9E1IHRWO,4RB/=-4+;EMC4?46&;)$FB4BS?D&\B&29K->?N,YL9>S,B)O
MTS/V[Y9F8)'YO%W&,T$M-E!+-QCA2>A]D<NVHK#:+;3@D%7;KC2-0KLUDC5]
MW$13UW"AA3B>[(IE-18(U&WVXK%:SZUC49L'BUF$GZ[."QNTRWHD::6+5/7"
M66]40[@Q4PPT\[#W9%V851E9^5+=+>,Y]=[FUE8;ABZ\_R1XF)8G2RKM)@H-
MUFK"FD*C(7MMP3Y/-H!IR08PV9B/;MR?/VHE5Y07'W S1\I$]X2TI8+Z:Z9-
MBVKA,@8$/I94Y(W2>9]O %)<&/>B@/7X0X 5G9Z2B:EW8!"8F2<>A!?A5#%_
MP(^#\"FI("R&')3OI(I5E%;!D_6/YQ6,FUSW].!#_H3D&55GBA'6&NU6<\O%
M"%^,WU,XO2SE0M7[:ICC$ER;X/"XJA6B78#? >B]KF%=L.GA<KB##]U<7R;U
M$NO5QL3#PQ%\!%!*[42(R!*K749U?3B0];\&W/7ALP\"MME+RD@/N-,'6 )*
M_)T/AN_'CU?'5+0F0&SK&043K84 0=K<?(WCP=)E5A*0U::V:ZI]DL:L=P%J
MS@MH)@4VZ\\I79E6?_LP"G'0=>NU"36AU^UJ<^*;7='!FFS %G!GTFVHYQB_
M#ROB:0GS7/4V\4.$CAO)"G;Y2F[ -V$DK''''WG850@<Q8'S';BCVD>V &L7
MPZIIC+M&K(^USX"5E8-5W9C#.P!6"8;+$F#!8(!%Z7%Y%=A2(\<>B@><VISV
M%%>16PA8_@!"#;X#]!+*JJ/;I9=GT,:?@O4Y+L\!Z1LA*+RT0AWN2S"Z[\O*
M_TI=0:F<B--TZ?R!NYZL,I:5786'0=3A"*K\*KX_77XU%9F)H(XDU,8CP,@_
M!U@_#'Y!<2SB& >"S57CN%$T K14' T4%*SL6#?&F#&N^QH*T!(><,P>S GU
MRA35SX"YX#JX!]O<PZ+=4EJ$XAYV&E_ >0>C6$X"_Y:;BFN>LU)52C8(AUB/
M0.D0H>B!/@"35'!;7JCT2Q +5F>HUIKF>_8I +8'2QZP#_!1K%F*2\0)C7P^
M@GG+\HRP2%\5:O2E-U!^.2%86!5,/%98AT_$(,,427\%#84!:5W"768B!&,L
MA?NO$5P7(0B :P'+B*O+9\S2 *B;KV!!/0 2\IK7 \"F'@#4 ^ 8>@#DMK)=
MM7;E6IOR/:"Z.$6!6%JW%WB>8MY)<<RT)F@D^6LF_O2O [I!>:%]U $MH AH
MHUEMF%1F2LL*8%0U3]N=J=FT,UKNC%5M6;0U6FX-L3-M=X;8F:8[8\L28[0U
M6]N:#;.A5JK+1Y%#MY\4CRW!X.5%-VVCVCRLTFUGZ/5]4>TV(I3#)93G%SFL
M5:W]GL/9F!(^SRDU6Y8*F?LM@U4(NNSYD.+&Z/)!.&+0$>%2C"%6JB&Q'%@Y
M6<5I#TDGH=K$>T2FV4SXTB/3RVH3)TQ9JP.U[Y->B'.;\[WE[P[J>)YFT@D]
M:+HA0R$)_<JAKL'2"C[W8MMVI=EL'>+)52*-W9"&<LYJL+2"2<.J&16C,7LF
MC.P6#57-4L!@>7SI*&"P*C!]%$ @8B!B6">L62(@'(;=>#V3PT\:\2%IQ&4
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
MJL-KW7HORASE(;.'OS-9,Y )#M[RM"Z @\ MO +_1&A!R($@?(D=P6W-1M<
M3\R%AUVL44NH ("AP*M](.'TR:@I2"[5W#1HHOE$& LAMR44"[W>H&6W!0JF
M4>:6MGM<V./"D^+"\:[APGC-B7"Y#'X8F>#Y(03%+5?E$--#$;K7>T(U=XX,
MCBEP-8'#$6YPJH0IL#I6FP+=0,J!STR83"I30SLD(EI)[]&55AEG4&S( 3@P
MXX (WDLO;[*"EA-.WL >_[&64&-P1*/!R0$_=$T')\P_^4>!Z8#2(PG*)T@$
M6@#C'1YUN7-'^5I'.72$X]R$':B!L0R&Z$^.):Y( (<J;>) 9!_(/RI^M/RZ
M<[;IR7\ZN!S0PQU#EPMN8#3@9X[;?QD$NAAV9+0V=V^"_#_EX-"A)Q]1J%J#
M -C^<5$CJ8!:O'1R,)^VHB-M2N,3TX 0(:18>7DWT!U\*8":@"Y&2<'<^8&I
M4R.8H%K@ (0/?!S)*E%2;3 8<8!J7.3B*(@R'!2R0'FP445Q]FM)D3G!L)P2
MJZ &6O@0J1W9P5\IQXI ;J ]K.O=(#.-=^S)S%\;C-+=!J,[\X5;F'1WIG%G
M: (XFPF&B$.-*MV:I@;0"I,D"$-4LP82 *0$]9Z!0="V;A$@'7HX8/#8MBW(
M\[3M)HRFJG4%J&1<Q)9EL/!<[R[7,N$E!&(2P G>\ I1#ZO4I?4 !.@H*F!.
M.P)!^WAJ#T$(0=FN0=#EC,K:D0;T3Y[G/,.3\)*;+1F-93!V!Q+D'[<G.1SB
M0$,@,,:G4E*8^\]K<!>:1I>U.>:)\B^G8$G:9* <B')O"=!GA,+WN+''C=W!
M#;9KN''A7?*V:^-I3DA?N#=;\>,>A 5C(Y5EM48';@4B6Z1.E;%0CM]A@"P#
M-F\.<,G!9YKD@$3 )C9J!\4SP =W$(5G5&6]U.O0:U50LXS:D(<XY.+,L3-G
MC\"<%D2*:R[#J=1&_>X?-I%#JWVJY_E#U)^.0B?/(U7LOO-@#7YU5S0 64D;
M0U:, %'@'N'9K6S-4C5:,V&5-LN(R!6 R.E46,OY_^%<J8*8"]\S ?HY(0>
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
M&8&2Z[ZL2$N\8& (%P$19PV[ <YCK"B"NW&:8+\<%PKD'(;/&<-)2MSR'^\
M!I=V5"Q395V#5*EK,+SEF71#NB%!%;=_9JD*O%<IP+F>I0NE@$]PD.2^54GF
M8U9LK;4 +;UU1"4QE,>("SDA<%*HTST"KL*SA3Y-IP7G6E#5J4YP/^9/53<?
M*D&@E5AAYE7+6#'5&*JL_I!A >6/;=&,)!P "\E_ 03(L8T/)78*T*&0"SW^
MG#,A$@?075QAX4>HZ[21[B^J:,UEEF!%8<9@(Q^D,0H&Z59&40OR.:."J#XG
M57O>H;")6P@V=?K-H+5#,O$S 0<M2!AOH(.(H?4IX.R<=GNHZ?1+.!^?K!3[
M\0D'_I:GZLX.#RH4ELH12^?9H6!<ZS-T&GPA9_44C54M= U-] /]_W/T=[Y'
M]-,X5$,--A^(,(T!T#36."L*0HBI*@\)'-X*GVVUC.'2 6RP/1S<L)  8-.V
MY@IW!SH(#'0_K(][H,I8#F^>$*'W3/<*C/FMP?DBNJEG4E1=:71"GS54K6J4
M!>)!J,\54&D>Y6FEKD(J@R!%ZB70KM3$_)ZE9BJPU5@M=RVD.06&=UC9AR O
MH=;OOZXZ:P]3E6M;13(':2'CZ](]Y=A0$'87<&G^9*S!_*]>!7?K>)%REDGB
ME<6K;E]^-RV^ZT7@'PWKO4C#-&;KI?>)H?L&MY)SJ%@NM"M;U,M[%8V#QP2D
M $6)MF2#P#TT0*]L_?>\YEBI5;MEW5GS/47AF:K9$Z*H4OH_#N&/\#TA?,\:
MH8<_N/@1O^\Q?LVIH!"F!.)T+V*MO9"5O69^GAW:]TA]U!SZ0B >ZN;]A]RU
MA]'5X'7O']:',8C!%<$H>XY[[OZW['J4C?EWM&L,%]C_M!0\BP/5DG+AEO6Z
MXH'Z0J'COLYEA:^]""BF:N\!]M\Q)'A)C+R'PB%<?5Q\RVE0^/CXR.P=[TZ6
M?,[6'5+^[D*_#!G^#5!+ 0(4 Q0    ( +6 I%9.QU+KAQ(  /+.   0
M          "  0    !B;&0M,C R,S S,S$N>'-D4$L! A0#%     @ M8"D
M5DDJCC++$0  <O8  !0              ( !M1(  &)L9"TR,#(S,#,S,5]C
M86PN>&UL4$L! A0#%     @ M8"D5FF5ZE@%,P  TG4# !0
M ( !LB0  &)L9"TR,#(S,#,S,5]D968N>&UL4$L! A0#%     @ M8"D5J/D
MQ7",<@  !F8' !0              ( !Z5<  &)L9"TR,#(S,#,S,5]L86(N
M>&UL4$L! A0#%     @ M8"D5MP?7S<N3   *:,% !0              ( !
MI\H  &)L9"TR,#(S,#,S,5]P<F4N>&UL4$L! A0#%     @ M8"D5H-"JUGC
MU@$ "A8: !0              ( !!Q<! &)L9"TR,#(S,#,S,7@Q,'$N:'1M
M4$L! A0#%     @ M8"D5D%6:M8+"0  8C\  !<              ( !'.X"
M &)L9"TR,#(S,#,S,7AE>#,Q9#$N:'1M4$L! A0#%     @ M8"D5A4>D$GU
M"   !3\  !<              ( !7/<" &)L9"TR,#(S,#,S,7AE>#,Q9#(N
M:'1M4$L! A0#%     @ M8"D5N"THWEN!0  ]!D  !<              ( !
MA@ # &)L9"TR,#(S,#,S,7AE>#,R9#$N:'1M4$L! A0#%     @ M8"D5FQJ
M0VYS!0  WQD  !<              ( !*08# &)L9"TR,#(S,#,S,7AE>#,R
<9#(N:'1M4$L%!@     *  H G (  -$+ P    $!

end
</TEXT>
</DOCUMENT>
</SEC-DOCUMENT>
